更新记录
1.8.10(2024-11-19) 下载此版本
Android SDK 升级到 2.8.4:
1、网络请求优化
2、广告平台集成优化
1.8.9(2024-05-16) 下载此版本
添加iOS隐私清单文件
1.8.8(2024-04-26) 下载此版本
Android SDK 升级到 2.8.3
1、优化一键拉起数据还原
2、优化广告平台渠道归因
平台兼容性
Android | Android CPU类型 | iOS |
---|---|---|
适用版本区间:4.4 - 14.0 | armeabi-v7a:未测试,arm64-v8a:未测试,x86:未测试 | 适用版本区间:9 - 17 |
原生插件通用使用流程:
- 购买插件,选择该插件绑定的项目。
- 在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原生插件配置”->”云端插件“列表中删除该插件重新选择
一、插件介绍
此插件是 openinstall 为了方便 uni-app 集成使用 openinstall 功能而开发的,实现了携带参数安装,渠道统计(H5渠道、广告平台渠道、ASA渠道等),一键拉起全部功能。
如有集成问题,请联系技术支持QQ:800853853
openinstall
可帮助 Android/iOS 开发者精确的获取 App 每一次安装来源;在 App 安装或拉起后,直达指定场景,大大提高用户转化率和留存率。同时,openinstall 在精准的 app 安装来源跟踪的技术上,开发了免打包,跨平台的渠道统计功能,轻松创建与管理成千上万的渠道,实现线上线下全渠道覆盖。openinstall 统计数据完全独立于第三方平台,提供多维度的统计报表,实时客观地反映渠道效果。
二、集成准备
前往 openinstall 官网,注册账户,登录管理控制台,创建应用后,跳过 "集成指引",在 "应用集成" 的对应平台的 "应用配置" 中获取 appkey
和 scheme
以及 iOS 的关联域名。
针对使用了 渠道统计 功能中的 广告平台渠道/ASA渠道 效果监测功能的集成,需要参考 补充文档
注意: 为了适配苹果最新的ASA渠道统计API,插件版本1.5.4及以上版本中,iOS插件编译环境为Xcode 12.3。
配置appkey
在 mainfest.json 的 App原生插件配置 的 openinstall 插件配置框内配置 openinstall
分配给应用的 AppKey
配置scheme
在 mainfest.json 的 App常用其它配置 中配置 openinstall
分配给应用的 scheme
配置universal links(iOS平台)
1、开启Associated Domains服务
需要在苹果开发者后台开启 苹果开发者后台
2、在HBuilderX里面配置关联域(Associated Domains)
示例如图:
三、使用教程
引用
const openinstall = uni.requireNativePlugin('openinstall-plugin');
初始化
init()
示例:在 App.vue
的 onLaunch
方法中进行初始化
openinstall.init();
注意: 1.3.2版本加入,必须先进行初始化,才能调用其他api
获取安装数据
getInstall(seconds, callback)
seconds
: 回调超时时间callback
: 数据回调函数
示例:
openinstall.getInstall(
8,
function(result) {
console.log('getInstall : channel=' + result.channelCode + ', data=' + result.bindData
+ ', shouldRetry=' + result.shouldRetry);
}
);
获取拉起数据
registerWakeUp(callback)
callback
: 数据回调函数
示例:
在 App.vue
的 onLaunch
方法中注册拉起回调(在初始化之后调用 )
openinstall.registerWakeUp(function(result){
console.log('getWakeup : channel=' + result.channelCode + ', data=' + result.bindData);
});
注册量统计
reportRegister()
示例:
openinstall.reportRegister();
效果点统计
reportEffectPoint(effectPointId, effectPointValue)
effectPointId
: 效果点IDeffectPointValue
: 效果点值,数值类型
示例:
openinstall.reportEffectPoint("effect_test", 1);
效果点明细统计
reportEffectPoint(pointId, pointValue, extras)
pointId
: 效果点IDpointValue
: 效果点值,数值类型extras
: 效果点自定义参数和值,key和value都必须是string类型
示例:
var extras = {
"key1": "value1",
"key2": "value2",
}
openinstall.reportEffectPoint("effect_detail", 1, extras);
裂变分享上报
reportShare(shareCode, sharePlatform, callback)
shareCode
: 分享标识码(用户标识)sharePlatform
: 分享平台,参考官网定义的平台字符串callback
: 上报回调函数 示例:openinstall.reportShare("10001", "QQ", function(ret) { console.log('shouldRetry = ' + ret.shouldRetry + ', message = ' + ret.message); if(ret.shouldRetry){ console.log('上报失败,请重试'); } });
四、导出apk/ipa包并上传
- 代码集成完毕后,需要导出安装包上传openinstall后台,openinstall会自动完成所有的应用配置工作。
- 上传完成后即可开始在线模拟测试,体验完整的App安装/拉起流程;待测试无误后,再完善下载配置信息。
如有疑问
若您在集成或使用中有任何疑问或者困难,请 咨询openinstall客服。
广告接入补充文档
Android平台
(1)针对广告平台接入,新增配置接口,在调用 init 之前调用。参考 广告平台对接Android集成指引
var options = {
adEnabled: true,
}
openinstall.configAndroid(options);
options 参数如下:
参数名 | 参数类型 | 描述 |
---|---|---|
adEnabled | bool | 广告平台接入开关(必须) |
macDisabled | bool | 是否禁止 SDK 获取 mac 地址 |
imeiDisabled | bool | 是否禁止 SDK 获取 imei |
gaid | string | 通过 google api 获取到的 advertisingId,SDK 将不再获取gaid |
oaid | string | 通过移动安全联盟获取到的 oaid,SDK 将不再获取oaid |
(2) 为了精准地匹配到渠道,需要获取设备唯一标识码,因此需要在 manifest.json
中声明权限,在 “App模块权限配置” 的 “Android打包权限配置” 勾选上 <uses-permission android:name="android.permission.READ_PHONE_STATE"/>
(3)在 manifest.json
中设置,关闭 uni-app
自动获取 android.permission.READ_PHONE_STATE
权限
"permissionPhoneState" : {
"request" : "none",
"prompt" : ""
},
示例如图:
(4)在 App.vue
的 onLaunch
方法中进行初始化,先申请权限,之后进行配置和初始化
if (plus.os.name == "Android") {
plus.android.requestPermissions(["android.permission.READ_PHONE_STATE"], function(event) {
if(event.granted){
console.log(event.granted);
}
if(event.deniedPresent){
console.log(event.deniedPresent);
}
if(event.deniedAlways){
console.log(event.deniedAlways);
}
// 配置初始化,设置 OAID
var options = {
adEnabled: true,
oaid: "通过移动安全联盟获取到的 oaid",
}
openinstall.configAndroid(options);
// 权限申请成功,不管用户是否同意,都需要做初始化
openinstall.init();
// 初始化完成后,才能做其他api调用
openinstall.registerWakeUp(function(result) {
console.log('wakeup : channel=' + result.channelCode + ', data=' + result.bindData);
});
}, function(event) {
// 权限申请错误
})
}
iOS平台
包括广告平台渠道统计和ASA渠道:
广告平台渠道:
openinstall后台配置及上架指引可参考文档 广告平台对接iOS集成指引
(1)需在manifest.json
的 “App常用其它设置” 中配置勾选 “使用广告标识(IDFA)”
(2)下载官方插件iOS平台获取idfa,并保存到目录下,如js_sdk/dc-idfa/idfa.js
(3)在 App.vue
中引用此模块,如下:
import idfa from "@/js_sdk/dc-idfa/idfa.js"
(4)在 App.vue
的 onLaunch
方法中进行初始化,如下:
if('iOS' == plus.os.name){
var fid = "";
fid = idfa.value();//如果需要idfa则开启
openinstall.init(fid);
console.log(fid);
};
ASA渠道:
插件1.5.4及以上版本增加了ASA渠道统计功能,已经集成在SDK内部,只需配置增加少量代码。开发者可以通过getInstall
方法获取channelCode
对应的值,即为ASA渠道编号。
区分ASA渠道和H5渠道及其它渠道,可在openinstall开发者平台创建渠道时,创建不同的渠道编号来做区分,如asa+广告系列ID
,例子:asa_1234567890
。
//配置asa,也可同时配置idfa
//isDev:"1"是测试模式,可以测试1234567890渠道下的统计数据,正式环境下请去掉该设置
var options = {
asa: "1",
isDev: "1",
//idfa: null,
}
openinstall.initAdsAttribution(options);
如何在openinstall开发者平台创建ASA渠道,并实现统计功能和上架前测试,请看图文文档 ASA渠道使用指南