更新记录
1.0(2022-07-08)
- 首次发布
平台兼容性
Android | Android CPU类型 | iOS |
---|---|---|
适用版本区间:4.4 - 11.0 | armeabi-v7a:未测试,arm64-v8a:未测试,x86:未测试 | 适用版本区间:9 - 15 |
原生插件通用使用流程:
- 购买插件,选择该插件绑定的项目。
- 在HBuilderX里找到项目,在manifest的app原生插件配置中勾选模块,如需要填写参数则参考插件作者的文档添加。
- 根据插件作者的提供的文档开发代码,在代码中引用插件,调用插件功能。
- 打包自定义基座,选择插件,得到自定义基座,然后运行时选择自定义基座,进行log输出测试。
- 开发完毕后正式云打包
付费原生插件目前不支持离线打包。
Android 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/android
iOS 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/ios
注意事项:使用HBuilderX2.7.14以下版本,如果同一插件且同一appid下购买并绑定了多个包名,提交云打包界面提示包名绑定不一致时,需要在HBuilderX项目中manifest.json->“App原生插件配置”->”云端插件“列表中删除该插件重新选择
AppsFlyer 移动归因 跟踪插件
https://www.appsflyer.com/cn/product/mobile-attribution/ appsflyer 是一个追踪应用使用行为的平台。
移动归因,指的是手机端应用安装跟踪记录行为。
例如使用场景: A 用户发给B 用户一个 邀请链接 下载APP, 怎么知道B 用户已经通过A 的链接下载了应用并安装使用了。
1.插件使用
-
到时 https://www.appsflyer.com/cn/ 官网,注册开发者帐号,创建应用,获取到应用的devKey。
-
苹果端,需要上传应用后,获取到应用的 AppId 一串数字。
2. 插件引用
const appsflyer= uni.requireNativePlugin("html5app-appsflyer");
- 获取唯一设备标识, 安卓需要安装谷歌服务,苹果端需要允许 广告个性化跟踪,才可以。
//安卓端获取的是谷歌广告ID, 苹果是IDFA
appsflyer.getGAId(function(e){
console.log(JSON.stringify(e));
});
- 设置OneLink 模板ID ,在Appsflyer 后台获取
//获取邀请链接前,先设置好,OneLink 模板ID
appsflyer.setAppInviteOneLink({"oneLinkId":"IDRT"});
- 获取 AppsFlyerUID,
let flyerId=appsflyer.getAppsFlyerUID();
- 设置客户ID
appsflyer.setCustomerUserId({"userId":"user123456"});
- 设置应用内事件记录
appsflyer.setLogEvent({
"eventName":"", //事件名称
"eventParm":{ //自定义参数,json
"af_content_type":"类型",
"af_content_id":"ID"
}
},function(e){
});
- 获取邀请链接
appsflyer.getInviteLink({
deep_link_value:'http://www.html5-app.com/', //被推荐用户应该深入链接到的应用体验。
deep_link_sub1:"ts123456", //受邀者收到的促销代码。
deep_link_sub2:"ss1336" //推荐人标识符。可用于奖励推荐人。
},function(e){
console.log(JSON.stringify(e));
});
事件监听
- 可以放在应用首页 onLoad 或 App.vue 的onLaunch 的,应用启动后,监听数据回调。
//监听 归因数据回调
appsflyer.subscribeForDeepLink(function(data){
console.log(JSON.stringify(data));
});
// 监听数据转换回调
appsflyer.appsFlyerConversionListener(function(data){
console.log(JSON.stringify(data));
});
//监听 sdk 启动是否成功
appsflyer.appsFlyerRequestListener(function(data){
console.log(JSON.stringify(data));
});