更新记录
1.0.1(2025-09-27)
- 添加requestTrackingAuthorization,用于ios启动未主动获取ATT
1.0.0(2025-09-24)
- 首发版本
平台兼容性
uni-app(4.63)
Vue2 | Vue2插件版本 | Vue3 | Vue2插件版本 | Chrome | Safari | app-vue | app-vue插件版本 | app-nvue | app-nvue插件版本 | Android | Android插件版本 | iOS | iOS插件版本 | 鸿蒙 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
√ | 1.0.0 | √ | 1.0.0 | × | × | √ | 1.0.0 | √ | 1.0.0 | 5.0 | 1.0.0 | 13 | 1.0.0 | × |
微信小程序 | 支付宝小程序 | 抖音小程序 | 百度小程序 | 快手小程序 | 京东小程序 | 鸿蒙元服务 | QQ小程序 | 飞书小程序 | 快应用-华为 | 快应用-联盟 |
---|---|---|---|---|---|---|---|---|---|---|
× | × | × | × | × | × | × | × | × | × | × |
uni-app x(4.63)
Chrome | Safari | Android | Android插件版本 | iOS | iOS插件版本 | 鸿蒙 | 微信小程序 |
---|---|---|---|---|---|---|---|
× | × | 5.0 | 1.0.0 | 13 | 1.0.0 | × | × |
UTS环境兼容性
uni-app | uni-app x |
---|---|
√ | √ |
sn-uts-appsflyer
AppsFlyer UTS插件,支持Android和iOS平台。原生插件的ITS版本
使用说明
初始化
import { getClient } from '@/uni_modules/sn-uts-appsflyer'
// 设置初始化回调
getClient().onInitCallback(e => {
console.log('initSdk', e)
})
// ios主动请求ATT(如果app启动未自动请求可以在合适的地方调用)
getClient().requestTrackingAuthorization(e => {
if (e.code ==0) {
// 同意
} else {
// 不同意
}
})
// 初始化SDK
getClient().initSdk({
devKey: "K2***********99",
isDebug: false,
// 以下2个参数是iOS特有(android平台传参也无所谓,不会读取)
appId: "41*****44", // 苹果app store appid
timeToWaitForATTUserAuthorization: 10, //for iOS 14.5
// 以下是非必填项
onInstallConversionDataListener: true, //是否监听安装转化数据,开启之后,数据回调则通过initSdk回调传递
onDeepLinkListener: true, // 是否监听DeepLink,开启之后,数据回调则通过registerDeepLink回调传递
// android特有
collectAndroidID: false, // 是否收集androidID
collectIMEI: false, // 是否收集IMEI
})
API 接口
回调监听
onInitCallback(callback)
设置初始化回调监听
- 参数:
callback
- 回调函数 - 平台支持: Android ✅ iOS ✅
onAppOpenAttribution(callback)
设置应用打开归因回调监听
- 参数:
callback
- 回调函数 - 平台支持: Android ✅ iOS ✅
onRegisterDeepLink(callback)
设置深度链接回调监听
- 参数:
callback
- 回调函数 - 平台支持: Android ✅ iOS ✅
SDK 操作
requestTrackingAuthorization(callback)
iOS的ATT权限请求
- 参数:
callback
- 回调函数
- 平台支持: Android ❌ iOS ✅
initSdk(options)
初始化AppsFlyer SDK
- 参数:
options
- 初始化配置对象 - 平台支持: Android ✅ iOS ✅
logEvent(json, callback)
记录自定义事件
- 参数:
json
- 事件数据对象callback
- 回调函数
- 平台支持: Android ✅ iOS ✅
setCustomerUserId(userId, callback)
设置用户ID
- 参数:
userId
- 用户ID字符串callback
- 回调函数
- 平台支持: Android ✅ iOS ✅
stop(isStopped, callback)
停止/启动SDK数据收集
- 参数:
isStopped
- 是否停止callback
- 回调函数
- 平台支持: Android ✅ iOS ❌
信息获取
getSdkVersion(callback)
获取SDK版本号
- 参数:
callback
- 回调函数 - 平台支持: Android ✅ iOS ✅
getAppsFlyerUID(callback)
获取AppsFlyer UID
- 参数:
callback
- 回调函数 - 平台支持: Android ✅ iOS ✅
getAttributionId(callback)
获取归因ID
- 参数:
callback
- 回调函数 - 平台支持: Android ✅ iOS ❌
getGaid(callback)
获取Google广告ID
- 参数:
callback
- 回调函数 - 平台支持: Android ✅ iOS ❌
归因相关
performOnAppAttribution(json, callback)
执行应用内归因
- 参数:
json
- 归因数据对象callback
- 回调函数
- 平台支持: Android ✅ iOS ❌
updateServerUninstallToken(token, callback)
更新服务器卸载令牌
- 参数:
token
- 卸载令牌callback
- 回调函数
- 平台支持: Android ✅ iOS ✅
邀请链接
setAppInviteOneLinkID(oneLinkID, callback)
设置应用邀请OneLink ID
- 参数:
oneLinkID
- OneLink IDcallback
- 回调函数
- 平台支持: Android ✅ iOS ✅
setOneLinkCustomDomain(customDomains, callback)
设置OneLink自定义域名
- 参数:
customDomains
- 自定义域名数组callback
- 回调函数
- 平台支持: Android ✅ iOS ✅
generateInviteLink(options, callback)
生成邀请链接
- 参数:
options
- 链接生成选项callback
- 回调函数
- 平台支持: Android ✅ iOS ✅
logInvite(channel, json)
记录邀请事件
- 参数:
channel
- 邀请渠道json
- 事件数据对象
- 平台支持: Android ✅ iOS ✅
setCurrencyCode(currencyCode, callback)
设置货币代码
- 参数:
currencyCode
- 货币代码callback
- 回调函数
- 平台支持: Android ✅ iOS ✅
示例
import { getClient } from '@/uni_modules/sn-uts-appsflyer'
// 初始化
getClient().onInitCallback(e => {
console.log('initSdk', e)
})
getClient().initSdk({
devKey: "K2***********99",
isDebug: false,
appId: "41*****44",
timeToWaitForATTUserAuthorization: 10,
onInstallConversionDataListener: true,
onDeepLinkListener: true,
collectAndroidID: false,
collectIMEI: false,
})
// 获取SDK版本
getClient().getSdkVersion(e => {
console.log('getSdkVersion', e.data.version)
})
// 记录事件
getClient().logEvent({
eventName: 'purchase',
eventValue: 99.99,
currency: 'USD'
}, e => {
console.log('logEvent', e)
})
// 设置用户ID
getClient().setCustomerUserId('user123', e => {
console.log('setCustomerUserId', e)
})
注意事项
-
平台差异: 部分接口仅Android支持,iOS不支持:
getAttributionId()
- 仅AndroidgetGaid()
- 仅AndroidperformOnAppAttribution()
- 仅Androidstop()
- 仅Android
-
初始化顺序: 必须先调用
onInitCallback()
设置回调,再调用initSdk()
初始化 -
回调格式: 所有回调函数都会收到
SnUtsAppsflyerResult
格式的数据:{ code: number, // 状态码,0表示成功 data: object // 返回数据 }
-
iOS特有参数:
appId
和timeToWaitForATTUserAuthorization
仅在iOS平台生效 -
Android特有参数:
collectAndroidID
和collectIMEI
仅在Android平台生效