iOSのObserver ModeでトランザクションをレポートするSDK
エージェントツールをインストール
AI コーディングツールから Adapty SDK の連携をまるごと実行できます。 詳細
スキル対応の任意のエージェントにインストールできます。更新するには npx skills update を実行してください。
インストール後、プロジェクトでスキルを実行します:
Observer modeでは、Adapty SDKは既存の購入システムで行われたアプリ内課金を自動で追跡できません。アプリストアからのトランザクションを手動で報告する必要があります。分析のエラーを防ぐため、アプリをリリースする前にこの設定を完了してください。
reportTransactionを使用して、各トランザクションをAdaptyに明示的に報告してください。
reportTransaction の呼び出しをお忘れなく!
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はObserver Modeをサポートしていません。
フローとペイウォールのトランザクションへの関連付け
Adapty SDK は購入のソースを判断できません。購入処理はお客様側で行っているためです。そのため、Observer モードでフロー、ペイウォール、および/または 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 オブジェクト。 |