更新记录

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 ID
    • callback - 回调函数
  • 平台支持: 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)
})

注意事项

  1. 平台差异: 部分接口仅Android支持,iOS不支持:

    • getAttributionId() - 仅Android
    • getGaid() - 仅Android
    • performOnAppAttribution() - 仅Android
    • stop() - 仅Android
  2. 初始化顺序: 必须先调用 onInitCallback() 设置回调,再调用 initSdk() 初始化

  3. 回调格式: 所有回调函数都会收到 SnUtsAppsflyerResult 格式的数据:

    {
     code: number,    // 状态码,0表示成功
     data: object     // 返回数据
    }
  4. iOS特有参数: appIdtimeToWaitForATTUserAuthorization 仅在iOS平台生效

  5. Android特有参数: collectAndroidIDcollectIMEI 仅在Android平台生效

更多参考

参考

隐私、权限声明

1. 本插件需要申请的系统权限列表:

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

插件使用的 AppsFlyer SDK会采集数据,详情可参考:https://www.appsflyer.com/cn/

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

暂无用户评论。