Appearance
快速开始W2A安卓开发
在app的build.gradle文件中添加依赖
implementation "io.github.upappio:upapp:5.1.0"
获取信息
在引导页或者入口文件中调用打开 CustomWebView.bindCustomTabsService
方法
CustomWebView.bindCustomTabsService(Context,包名,接收数据的类);
- 参数: 接收数据的类 即 接收页
- 首次打开app时,该方法会打开着陆页网址, 仅打开一次,会自动关闭,发送数据并打开接受页
- 第二次启动app时,会直接跳转到接受页,不在打开着陆页
配置接收页 如MainActivity
编辑
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>
接收类
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); } } }
将接收到的value值 调用
CustomEventApi.saveValue(Context,value);
传输给依赖方便以后归因使用
归因调用
调用
DetailBody
实体类进行封装归因参数 如事件名称,货币单位,价格等调用
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归因 需要完成以下对接
在Firebase控制中心创建项目 分别添加网站应用(对应着陆页地址)和移动Android应用
如果您使用的自定义着陆页 请自行对接Firebase;如果您使用的是生成着陆页,不需要您做其他处理
网站应用 将对应秘钥信息填写在后台域名管理模块
Android应用 下载google-services.json 文件 放在 app 目录下
自定义Application页面 继承 UpAPP类 并在清单文件 application标签中引用
public class CustomAPP extends UpApp{} <application ... android:name=".CustomAPP">
在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 }
在app的build.gradle文件中添加
plugins { id 'com.android.application' id("com.google.gms.google-services") }
参考归因调用模块发送事件
Context参数
Context: 上下文
其他方法
获取UPAPP用户信息
CustomEventApi.getVisitorInfo(Context,VisitorInfoCallback)
String postParam
: 着陆页链接中带的所有参数