このガイドでは、 Adjustの購入認証SDKから、SDK v5のビルトイン購入認証に移行する方法を説明します。SDK v5の購入認証ワークフローは、購入認証を行うための合理化されたアプローチです。
購入認証SDKは、3つの認証ステップに分けられます。
- 購入認証SDKを初期化します。
#import "AdjustPurchase.h"// or #import <AdjustPurchaseSdk/AdjustPurchase.h>
NSString *yourAppToken = @"{YourAppToken}";NSString *environment = ADJPEnvironmentSandbox;
ADJPConfig *config = [[ADJPConfig alloc] initWithAppToken:yourAppToken andEnvironment:environment];[AdjustPurchase init:config];
- 購入を検証します。
[AdjustPurchase verifyPurchase:receipt forTransaction:transaction productId:@"product-id" withResponseBlock:^(ADJPVerificationInfo *info) { // process ADJPVerificationInfo object}];
- 検証の結果に応じて、
AdjustEvent
オブジェクトを設定し、Adjustに送信します。
NSURL *receiptURL = [[NSBundle mainBundle] appStoreReceiptURL];NSData *receipt = [NSData dataWithContentsOfURL:receiptURL];ADJEvent *event = [ADJEvent eventWithEventToken::@"your-event-token"];[event setRevenue:6.0 currency:@"EUR"];[event setTransactionId:@"transaction-id"];[event setProductId:@"product-id"];[event setReceipt:receipt];[Adjust trackEvent:event];
SDK v5では、このワークフローは簡素化されています。[Adjust verifyAndTrackAppStorePurchase]
メソッドを使用すると、Adjustのサーバーにイベントを送信し、認証ステータスをコールバックで受け取ることができます。Adjustは、イベントと認証ステータスを自動的に記録します。
ガイド
購入認証SDKからSDK v5ビルトイン購入認証に移行するには、以下の手順に従ってください。
1. 購入認証SDKをアンインストールする
この機能を利用するには、まずAdjust購入認証SDKをアンインストールしてください。
2. 購入認証SDKコードを削除する
Adjustの購入認証SDKをアンインストールしたら、プロジェクトから全ての購入認証コードを削除する必要があります。
3. SDK v5購入認証へ移行する
既存の購入認証コードを削除したら、SDK v5に組み込まれた購入認証メソッドを使用してください。Adjust SDKで購入認証を行うには、次の2つの方法があります。
-
購入を示す
ADJEvent
オブジェクトを作成し、以下のプロパティを追加します。productId
(NSString
):購入に成功したアイテムのプロダクトID。transactionId
(NSString
):認証したいトランザクションのID。
-
プロダクトID、トランザクションID、受領証で
ADJAppStorePurchase
オブジェクトを作成します。
イベントの記録と購入認証
購入認証の目的で収益イベントを送信し、購入認証ステータスを受け取るには、以下の手順に従ってください。
-
イベントトークンを使用して
ADJEvent
オブジェクトをインスタンス化し、以下のパラメーターを設定します。productId
(NSString
):購入に成功したアイテムのプロダクトID。transactionId
(NSString
):認証したいトランザクションのID。
-
次の引数を使用して
Adjust.verifyAndTrackPlayStorePurchase
メソッドを呼び出します:event
(ADJEvent
):インスタンス化されたイベントオブジェクト。callback
(ADJVerificationResultBlock
):ADJPurchaseVerificationResult
オブジェクトを引数として受け取るデリゲートコールバック関数。
この例では、購入認証レスポンスがログdaemonに出力されます。
let event = ADJEvent(eventToken: "g3mfiw")!event.setProductId("product-id")event.setTransactionId("transaction-id")
Adjust.verifyAndTrackAppStorePurchase(event) { verificationResult in print("Verification status: \(verificationResult.verificationStatus)") print("Code: \(verificationResult.code)") print("Message: \(verificationResult.message)")}
ADJEvent *event = [[ADJEvent alloc] initWithEventToken:yourEventToken];[event setProductId:@"product-id"];[event setTransactionId:@"transaction-id"];
[Adjust verifyAndTrackAppStorePurchase:event withCompletionHandler:^(ADJPurchaseVerificationResult * _Nonnull verificationResult) { NSLog(@"Verification status: %@", verificationResult.verificationStatus); NSLog(@"Code: %d", verificationResult.code); NSLog(@"Message: %@", verificationResult.message);}];
購入認証のみの場合
独立して購入データを送信し、購入認証ステータスを受信するには、次の手順に従ってください。
-
以下の引数で
ADJAppStorePurchase
をインスタンス化します:productId
(NSString
):購入に成功したアイテムのプロダクトID。transactionId
(NSString
):認証したいトランザクションのID。
-
次の引数を使用して
Adjust.verifyAppStorePurchase
メソッドを呼び出します:purchase
(ADJAppStorePurchase
):インスタンス化された購入オブジェクトcallback
(ADJVerificationResultBlock
):ADJPurchaseVerificationResult
オブジェクトを引数として受け取るデリゲートコールバック関数。
この例では、購入認証レスポンスがログdaemonに出力されます。
let appStorePurchase = ADJAppStorePurchase(transactionId: yourTransactionId, productId: yourProductId)!
Adjust.verifyAppStorePurchase(appStorePurchase) { verificationResult in print("Verification status: \(verificationResult.verificationStatus)") print("Code: \(verificationResult.code)") print("Message: \(verificationResult.message)")}
ADJAppStorePurchase *appStorePurchase = [[ADJAppStorePurchase alloc] initWithTransactionId:yourTranscationId productId:yourProductId];
[Adjust verifyAppStorePurchase:appStorePurchase withCompletionHandler:^(ADJPurchaseVerificationResult * _Nonnull verificationResult) { NSLog(@"Verification status: %@", verificationResult.verificationStatus); NSLog(@"Code: %d", verificationResult.code); NSLog(@"Message: %@", verificationResult.message);}];