此插件是 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。
在 mainfest.json 的 App原生插件配置 的 openinstall 插件配置框内配置 openinstall
分配给应用的 AppKey
在 mainfest.json 的 App常用其它配置 中配置 openinstall
分配给应用的 scheme
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('上报失败,请重试');
}
});
- 代码集成完毕后,需要导出安装包上传openinstall后台,openinstall会自动完成所有的应用配置工作。
- 上传完成后即可开始在线模拟测试,体验完整的App安装/拉起流程;待测试无误后,再完善下载配置信息。
若您在集成或使用中有任何疑问或者困难,请 咨询openinstall客服。
(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) {
// 权限申请错误
})
}
包括广告平台渠道统计和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渠道使用指南