在 Android SDK 的观察者模式下报告交易
安装 AI Agent 工具
在你的 AI 编程工具中完成整个 Adapty SDK 集成。 了解更多
可安装到任何支持技能的 AI 工具。之后更新请运行 npx skills update。
这些技能涵盖 SDK 集成、构建 flow 和 paywall、发布前审查、placement 迁移等。用日常语言描述任务,你的 AI Agent 会自动选择合适的技能。
在观察者模式下,Adapty SDK 无法自动追踪通过您现有购买系统完成的购买。您需要从应用商店手动报告交易。在发布应用之前务必完成此设置,以避免分析数据出现错误。
使用 reportTransaction 显式报告每笔交易,以便 Adapty 识别。
不要跳过交易上报!
如果不调用 reportTransaction,Adapty 将无法识别该交易,它不会出现在分析数据中,也不会发送到集成渠道。
如果你使用 Adapty 流程和付费墙,请在上报交易时附带 variationId。这样可以将购买行为关联到触发它的流程或付费墙,从而确保分析数据的准确性。
val transactionInfo = TransactionInfo.fromPurchase(purchase)
Adapty.reportTransaction(transactionInfo, variationId) { result ->
if (result is AdaptyResult.Success) {
// success
}
}参数:
| 参数 | 是否必填 | 描述 |
|---|---|---|
| transactionInfo | 必填 | 购买操作的 TransactionInfo,其中 purchase 是账单库 Purchase 类的实例。 |
| variationId | 可选 | 实验变体的字符串标识符。可通过 AdaptyPaywall 对象的 variationId 属性获取。 |
TransactionInfo transactionInfo = TransactionInfo.fromPurchase(purchase);
Adapty.reportTransaction(transactionInfo, variationId, result -> {
if (result instanceof AdaptyResult.Success) {
// success
}
});参数:
| 参数 | 是否必填 | 描述 |
|---|---|---|
| transactionInfo | 必填 | 购买的 TransactionInfo,其中 purchase 是 billing library Purchase 类的实例。 |
| variationId | 可选 | 实验变体的字符串标识符。可通过 AdaptyPaywall 对象的 variationId 属性获取。 |
在观察者模式下,Adapty SDK 无法自动追踪通过您现有购买系统完成的购买。您需要从应用商店报告交易或恢复购买。在发布应用之前务必完成此设置,以避免分析数据出现错误。
使用 restorePurchases 向 Adapty 报告交易。
不要跳过恢复购买步骤!
如果不调用 restorePurchases,Adapty 将无法识别该交易,它不会出现在分析数据中,也不会发送到集成渠道。
如果你使用 Adapty 的流程和付费墙,请使用 setVariationId 方法将你的交易与引导用户完成购买的流程或付费墙关联起来。这样可以正确归因购买行为,确保分析数据准确。
Adapty.restorePurchases { result ->
if (result is AdaptyResult.Success) {
// success
}
}
Adapty.setVariationId(transactionId, variationId) { error ->
if (error == null) {
// success
}
}参数:
| 参数 | 是否必填 | 描述 |
|---|---|---|
| transactionId | 必填 | 购买记录的字符串标识符(purchase.getOrderId),其中 purchase 是计费库 Purchase 类的实例。 |
| variationId | 必填 | 实验变体的字符串标识符。可通过 AdaptyPaywall 对象的 variationId 属性获取。 |
Adapty.restorePurchases(result -> {
if (result instanceof AdaptyResult.Success) {
// success
}
});
Adapty.setVariationId(transactionId, variationId, error -> {
if (error == null) {
// success
}
});参数:
| 参数 | 是否必填 | 描述 |
|---|---|---|
| transactionId | 必填 | 购买记录的字符串标识符(purchase.getOrderId),其中 purchase 是 billing library Purchase 类的实例。 |
| variationId | 必填 | 实验变体的字符串标识符。可通过 AdaptyPaywall 对象的 variationId 属性获取。 |
上报交易
在观察者模式下,使用 restorePurchases 向 Adapty 上报交易,详情请参阅在移动端代码中恢复购买页面。
不要跳过交易上报!
如果不调用 restorePurchases,Adapty 将无法识别该交易,它不会出现在分析数据中,也不会被发送到集成渠道。
将流程与付费墙关联到交易
Adapty SDK 无法确定购买的来源,因为购买是由您自己处理的。因此,如果您打算在观察者模式下使用流程、付费墙和/或 A/B 测试,您需要在移动应用代码中将来自应用商店的交易与对应的流程或付费墙关联起来。请在发布应用前确保此操作正确无误,否则将导致分析数据出现错误。
Adapty.setVariationId(transactionId, variationId) { error ->
if (error == null) {
// success
}
}请求参数:
| 参数 | 是否必填 | 描述 |
|---|---|---|
| transactionId | 必填 | 字符串标识符(purchase.getOrderId,其中 purchase 是计费库 Purchase 类的实例)。 |
| variationId | 必填 | 实验变体的字符串标识符。可通过 AdaptyPaywall 对象的 variationId 属性获取。 |
Adapty.setVariationId(transactionId, variationId, error -> {
if (error == null) {
// success
}
});
| 参数 | 是否必填 | 描述 |
|---|---|---|
| transactionId | 必填 | 字符串标识符(purchase.getOrderId,其中 purchase 是计费库 Purchase 类的实例)。 |
| variationId | 必填 | 实验变体的字符串标识符。可通过 AdaptyPaywall 对象的 variationId 属性获取。 |