Skip to content

快速开始W2A安卓开发

在app的build.gradle文件中添加依赖

implementation "io.github.upappio:upapp:5.1.0"

获取信息

在引导页或者入口文件中调用打开 CustomWebView.bindCustomTabsService 方法

CustomWebView.bindCustomTabsService(Context,包名,接收数据的类);
  1. 参数: 接收数据的类 即 接收页
  2. 首次打开app时,该方法会打开着陆页网址, 仅打开一次,会自动关闭,发送数据并打开接受页
  3. 第二次启动app时,会直接跳转到接受页,不在打开着陆页

配置接收页 如MainActivity

  1. 编辑Manifest.xml构造接收类,如接收类为MainActivity,添加协议并使android:exported="true"

    <activity
     android:name=".MainActivity"
     android:exported="true">
     <intent-filter>
       <action android:name="android.intent.action.VIEW" />
       <category android:name="android.intent.category.DEFAULT" />
       <category android:name="android.intent.category.BROWSABLE" />
       <data
         android:scheme="io"
         android:host="saveData"
         android:pathPrefix="/upApp"
         tools:ignore="AppLinkUrlError" />
     </intent-filter>
     </activity>
  2. 接收类MainActivity中通过intent接收通过协议传过来的参数

    protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         ...
         handleIntent(getIntent());
       }
       @Override
       protected void onNewIntent(Intent intent) {
         super.onNewIntent(intent);
         handleIntent(intent);
       }
       @SuppressLint("SetTextI18n")
       private void handleIntent(Intent intent) {
         Uri data = intent.getData();
         if (data != null && "io".equals(data.getScheme())) {
           String action = data.getHost();
           if ("saveData".equals(action)) {
             List<String> params = data.getPathSegments();
             String key = params.get(0);
             String value = params.get(1);
             CustomEventApi.saveValue(MainActivity.this,value);
           }
         }
       }
  3. 将接收到的value值 调用CustomEventApi.saveValue(Context,value); 传输给依赖方便以后归因使用

归因调用

  1. 调用DetailBody实体类进行封装归因参数 如事件名称,货币单位,价格等

  2. 调用CustomEventApi.sendEvent(Context,DetailBody);进行归因

    DetailBody body = new DetailBody("purchase");
    body.setDescription("web page");
    body.setPrice(1.00);
    body.setCurrency("USD");
    body.setBrand("Fancy Sneakers");
    CustomEventApi.sendEvent(MainActivity.this,body);

Google归因

本sdk使用的Firebase来做Google归因 需要完成以下对接

  1. 在Firebase控制中心创建项目 分别添加网站应用(对应着陆页地址)和移动Android应用

  2. 如果您使用的自定义着陆页 请自行对接Firebase;如果您使用的是生成着陆页,不需要您做其他处理

  3. 网站应用 将对应秘钥信息填写在后台域名管理模块

  4. Android应用 下载google-services.json 文件 放在 app 目录下

  5. 自定义Application页面 继承 UpAPP类 并在清单文件 application标签中引用

    public class CustomAPP extends UpApp{}
     <application
         ...
         android:name=".CustomAPP">
  6. 在project的build.gradle文件中添加

    plugins {
          id 'com.android.application' version '7.3.0' apply false
         id("com.google.gms.google-services") version "4.3.15" apply false
     }
  7. 在app的build.gradle文件中添加

    plugins {
         id 'com.android.application'
         id("com.google.gms.google-services")
     }
  8. 参考归因调用模块发送事件

Context参数

Context: 上下文

其他方法

获取UPAPP用户信息

CustomEventApi.getVisitorInfo(Context,VisitorInfoCallback)

String postParam: 着陆页链接中带的所有参数