在 iOS SDK 中以观察者模式上报交易
在观察者模式下,Adapty SDK 无法自动追踪通过您现有购买系统完成的交易。您需要手动从应用商店上报交易。请务必在发布应用之前完成此配置,以避免分析数据出现错误。
使用 reportTransaction 显式上报每笔交易,以便 Adapty 识别。
请勿跳过交易上报!
如果不调用 reportTransaction,Adapty 将无法识别该交易,该交易不会出现在分析数据中,也不会被发送到集成渠道。
如果您使用 Adapty 付费墙,请在上报交易时附带 variationId。这会将购买行为与触发它的付费墙关联起来,从而确保付费墙分析数据的准确性。
do {
// every time when calling transasction.finish()
try await Adapty.reportTransaction(transaction, withVariationId: <YOUR_PAYWALL_VARIATION_ID>)
} catch {
// handle the error
}参数说明:
| 参数 | 是否必填 | 描述 |
|---|---|---|
| transaction | 必填 |
|
| variationId | 可选 | 付费墙实验变体的唯一 ID。从 AdaptyPaywall 对象的 variationId 属性中获取。 |
在观察者模式下,Adapty SDK 无法自动追踪通过您现有购买系统完成的交易。您需要手动从应用商店上报交易或恢复交易。请务必在发布应用之前完成此配置,以避免分析数据出现错误。
使用 reportTransaction 将交易数据发送给 Adapty。
请勿跳过交易上报!
如果不调用 reportTransaction,Adapty 将无法识别该交易,该交易不会出现在分析数据中,也不会被发送到集成渠道。
如果您使用 Adapty 付费墙,请在上报交易时附带 withVariationId。这会将购买行为与触发它的付费墙关联起来,从而确保付费墙分析数据的准确性。
do {
// every time when calling transasction.finish()
try await Adapty.reportTransaction(transaction, withVariationId: <YOUR_PAYWALL_VARIATION_ID>)
} catch {
// handle the error
}参数说明:
| 参数 | 是否必填 | 描述 |
|---|---|---|
| transaction | 必填 |
|
| variationId | 可选 | 付费墙实验变体的唯一 ID。从 AdaptyPaywall 对象的 variationId 属性中获取。 |
上报交易
- 3.1.x 及以下版本会自动监听 App Store 中的交易,无需手动上报。
- 3.2 版本不支持观察者模式。
将付费墙与交易关联
由于购买由您自行处理,Adapty SDK 无法判断购买来源。因此,如果您打算在观察者模式下使用付费墙和/或 A/B 测试,您需要在移动应用代码中将来自应用商店的交易与对应的付费墙关联起来。在发布应用前务必正确完成此设置,否则会导致分析数据出现错误。
let variationId = paywall.variationId
// There are two overloads: for StoreKit 1 and StoreKit 2
Adapty.setVariationId(variationId, forPurchasedTransaction: transactionId) { error in
if error == nil {
// successful binding
}
}请求参数:
| 参数 | 是否必填 | 描述 |
|---|---|---|
| variationId | 必填 | 实验变体的字符串标识符。可通过 AdaptyPaywall 对象的 variationId 属性获取。 |
| transactionId | 必填 | StoreKit 1:SKPaymentTransaction 对象。 StoreKit 2:Transaction 对象。 |