指南
如何在 Capacitor 中使用 AppsFlyer
使用 @capgo/capacitor-appsflyer
用于 AppsFlyer 归因、分析和 Deep Links 的 Capacitor 插件。
安装
bun add @capgo/capacitor-appsflyer
bunx cap sync
bunx cap sync 将插件的原生 code 复制到你的原生项目中。每次升级插件后都要重新运行。
导入
import { AppsFlyer } from '@capgo/capacitor-appsflyer';
API 概览
| 方法 | 描述 |
|---|---|
initSDK |
使用此方法初始化并启动 AppsFlyer SDK。App 一启动就应调用此 API。 |
startSDK |
仅在手动启动模式下,使用此方法启动 AppsFlyer SDK。 |
logEvent |
记录一个 App 内事件。 |
setCustomerUserId |
设置你自己的 customer ID 后,就能把自有唯一 ID 与 AppsFlyer 的唯一 ID 及其他设备的 ID 交叉对照。该 ID 会出现在原始数据报告和 Postback API 中,方便与你的内部 ID 关联。 |
setCurrencyCode |
设置应用内购买使用的货币。货币 code 应为 3 个字符的 ISO 4217 code。 |
updateServerUninstallToken |
(Android) 支持将第三方插件收集的 GCM/FCM Tokens 传给 AppsFlyer 服务端,可用于卸载日志。(iOS) 支持将第三方插件收集的 APN Tokens 传给 AppsFlyer 服务端,可用于记录卸载日志。 |
setAppInviteOneLink |
设置用于归因用户邀请 (user-Invite) 的 OneLink ID。为用户邀请生成的链接将使用此 OneLink 作为基础链接。 |
setOneLinkCustomDomain |
为了让 AppsFlyer SDK 能够成功解析隐藏的(在短链接 ID 中解码的)归因参数,必须向此方法提供在 AppsFlyer Dashboard 中配置为品牌域名的所有域名。 |
appendParametersToDeepLinkingURL |
允许使用 App Links 进行深度链接(不使用 OneLink)的应用所有者,对通过其应用关联域名发起的会话进行归因。请在调用 start 之前调用此方法。您必须在 parameters Map 中提供以下参数:pid 和 is_retargeting 必须设置为 true。 |
setResolveDeepLinkURLs |
广告主可以将 AppsFlyer OneLink 封装在另一个 Universal Link 中。该 Universal Link 会唤起应用,但任何深度链接数据都不会传递给 AppsFlyer。通过 setResolveDeepLinkURLs,您可以配置 SDK 来解析封装的 OneLink URL,从而确保深度链接正常工作。 |
addPushNotificationDeepLinkPath |
配置 SDK 如何从推送通知 payload 中提取 deep link 值。 |
setSharingFilter |
阻止事件传播到指定的 AppsFlyer 合作伙伴。 |
setSharingFilterForAllPartners |
阻止事件传播到所有 AppsFlyer 合作伙伴。会覆盖 setSharingFilter。 |
setSharingFilterForPartners |
阻止事件传播到指定的 AppsFlyer 合作伙伴。 |
setAdditionalData |
设置要发送给 AppsFlyer 的附加数据。详见。 |
getAppsFlyerUID |
获取 AppsFlyer 的唯一设备 ID(为应用的每次新安装而创建)。 |
anonymizeUser |
终端用户选择退出 AppsFlyer 分析(匿名化用户数据)。 |
stop |
一旦调用此 API,我们的 SDK 将不再与服务器通信并停止工作。这在实现用户 opt-in/opt-out 时非常有用。 |
disableSKAdNetwork |
选择退出 SKAdNetwork。 |
disableAdvertisingIdentifier |
禁用 SDK 对各类广告 ID 的收集,包括 Apple 广告标识符 (IDFA)、Google 广告 ID (GAID)、OAID 和 Amazon 广告 ID (AAID)。 |
disableCollectASA |
选择退出 Apple Search Ads 归因。 |
setHost |
设置自定义 host。 |
generateInviteLink |
允许现有用户邀请好友和联系人成为您应用的新用户。 |
validateAndLogInAppPurchaseAndroid |
用于应用内购买服务器验证的 API。验证成功后,会自动记录带有相关值的 af_purchase 事件。 |
validateAndLogInAppPurchaseIos |
查看源码定义以了解当前行为。 |
getSdkVersion |
获取 App 中使用的 AppsFlyer SDK 版本。 |
enableFacebookDeferredApplinks |
启用 Facebook Deferred AppLinks 收集。需要目标/客户端设备上安装 Facebook SDK 和 Facebook App。此 API 必须在初始化 AppsFlyer SDK 之前调用才能正常工作。 |
sendPushNotificationData |
衡量并获取推送通知营销活动的数据。 |
setCurrentDeviceLanguage |
设置设备语言。数据将显示在 Raw Data Reports 中。 |
logCrossPromoteImpression |
记录交叉推广活动中的曝光量。请确保使用的推广 App ID 与 AppsFlyer dashboard 中的一致。 |
setUserEmails |
设置用户邮箱并对其进行加密。 |
logLocation |
手动记录用户位置。 |
setPhoneNumber |
将以 SHA-256 加密字符串的形式发送。 |
setPartnerData |
允许发送自定义数据以进行合作伙伴集成。 |
logInvite |
用于记录应用内用户邀请事件 (af_invite)。 |
setDisableNetworkData |
用于选择不从设备收集网络运营商名称 (carrier) 和 SIM 卡运营商名称。 |
enableTCFDataCollection |
用于为使用 CMP 的用户选择开启/关闭同意数据自动收集。该标志值将在应用会话之间持久化。 |
setConsentData |
用于手动设置用户同意数据。如果您的应用未使用兼容 TCF v2.2 的 CMP,请使用以下方法直接向 SDK 提供同意数据。 |
logAdRevenue |
通过归因广告收入,应用所有者可以全面掌握用户 LTV 和广告活动 ROI。广告收入通过在应用内的激励视频、Offerwall、插屏广告和横幅广告中展示广告产生。您可以使用此方法记录广告收入。 |
setConsentDataV2 |
用于手动设置用户同意数据。如果您的应用未使用兼容 TCF v2.2 的 CMP,请使用以下方法直接向 SDK 提供同意数据。 |
isSDKStarted |
使用此方法检查 AppsFlyer SDK 是否已在当前会话中启动。 |
isSDKStopped |
使用此方法检查 AppsFlyer SDK 当前是否已停止。 |
disableAppSetId |
禁用 AppSet ID 收集。如果在 SDK 初始化之前调用,则不会收集 App Set ID。如果在初始化之后调用,则会收集 App Set ID,但不会在请求负载中发送。仅限 Android。 |
validateAndLogInAppPurchaseV2 |
API 用于应用内购买 V2 的服务端验证。如果验证成功,系统会自动记录包含相关值的 af_purchase 事件。 |
示例
initSDK()
使用此方法初始化并启动 AppsFlyer SDK。App 一启动就应调用此 API。
import { AppsFlyer } from '@capgo/capacitor-appsflyer';
const result = await AppsFlyer.initSDK({
devKey: 'dev-key-123',
appID: 'app-id-123',
});
console.log(result);
startSDK()
仅在手动启动模式下,使用此方法启动 AppsFlyer SDK。
import { AppsFlyer } from '@capgo/capacitor-appsflyer';
const result = await AppsFlyer.startSDK();
console.log(result);
logEvent()
记录一个 App 内事件。
import { AppsFlyer } from '@capgo/capacitor-appsflyer';
const result = await AppsFlyer.logEvent({ eventName: 'event' });
console.log(result);
setCustomerUserId()
设置你自己的 customer ID 后,就能把自有唯一 ID 与 AppsFlyer 的唯一 ID 及其他设备的 ID 交叉对照。该 ID 会出现在原始数据报告和 Postback API 中,方便与你的内部 ID 关联。
import { AppsFlyer } from '@capgo/capacitor-appsflyer';
await AppsFlyer.setCustomerUserId({ cuid: 'cuid' });
setCurrencyCode()
设置应用内购买使用的货币。货币 code 应为 3 个字符的 ISO 4217 code。
import { AppsFlyer } from '@capgo/capacitor-appsflyer';
await AppsFlyer.setCurrencyCode({ currencyCode: 'USD' });
updateServerUninstallToken()
(Android) 支持将第三方插件收集的 GCM/FCM Tokens 传给 AppsFlyer 服务端,可用于卸载日志。(iOS) 支持将第三方插件收集的 APN Tokens 传给 AppsFlyer 服务端,可用于记录卸载日志。
import { AppsFlyer } from '@capgo/capacitor-appsflyer';
await AppsFlyer.updateServerUninstallToken({ token: 'token-123' });
上表列出了 44 个核心方法。监听器和版本辅助方法,以及每个方法的完整接口约定,都记录在 GitHub 仓库.
监听事件
addListener 会返回一个句柄。调用 handle.remove() 当屏幕卸载时。
完整参考文档
继续阅读 使用 @capgo/capacitor-appsflyer
如果你正在使用 使用 @capgo/capacitor-appsflyer 要规划原生插件工作,请将其与 @capgo/capacitor-appsflyer 了解 @capgo/capacitor-appsflyer 中的实现细节, 快速入门 有关“入门指南”中的实现细节, Capgo 插件目录 查看 Capgo 插件目录中的产品工作流, Capgo 提供的 Capacitor 插件 有关 Capgo 开发的 Capacitor 插件的实现细节,以及 添加或更新插件 有关添加或更新插件的实现细节。