トランザクションイベントの記録
Track in-app purchases and failed transactions to measure revenue and monitor transaction health.
読み終わるまでの所要時間 3 分最終更新 8ヶ月前
transactionProductproductsSpentproductsReceivedProduct失敗したトランザクションは専用の イベントで追跡されます。これには、購入トランザクションに関する詳細や、その失敗の理由が含まれます。これは、ダッシュボードの収益指標には影響しません。
transactionFailedSDK または REST API を介して および イベントを手動で送信できます。Unity IAP バージョン 4.2 以上を使用している場合、これらのイベントは自動的に送信されます。
transactiontransactionFailed重要: IAP プラグインも使用しているときにトランザクションを Analytics に手動で送信すると、それらが 2 回カウントされ、かさ上げされた収益がレポートされます。
イベントの手動送信
transactiontransactionFailed正常な購入のレポート
以下の例では、 イベントは、実際のドルを使用してゲーム内通貨と複数のアイテムが入った宝箱を購入するプレイヤーを記録します。このイベントとパラメーターの詳細については、イベントマネージャー を参照してください。
transaction以下のコードを使用して イベントを作成します。
transactionpublic void SendTransaction(){ var productsReceived = new Product() { Items = new List<Item>() { new Item(){ ItemName = "Golden Battle Axe" , ItemType = "Weapon", ItemAmount = 1}, new Item(){ ItemName = "Flaming Sword" , ItemType = "Weapon", ItemAmount = 1}, new Item(){ ItemName = "Jewel Encrusted Shield" , ItemType = "Armour", ItemAmount = 1} }, VirtualCurrencies = new List<VirtualCurrency>() { new VirtualCurrency() { VirtualCurrencyName = "Gold", VirtualCurrencyType = "PREMIUM", VirtualCurrencyAmount = 100 } } }; var productsSpent = new Product() { RealCurrency = new RealCurrency() { RealCurrencyType = "USD", RealCurrencyAmount = 499 } }; AnalyticsService.Instance.Transaction(new TransactionParameters() { ProductsReceived = productsReceived, ProductsSpent = productsSpent, TransactionID = "100000576198248", TransactionName = "IAP - A Large Treasure Chest", TransactionType = TransactionType.PURCHASE, TransactionServer = TransactionServer.APPLE, TransactionReceipt = "ewok9Ja81............991KS==" });}
失敗した購入のレポート
transactionFailed以下の例では、 イベントは、プレイヤーが実際のドルを使用してゲーム内通貨と複数のアイテムが入った宝箱を購入しようとしたが、ユーザーが購入をキャンセルしたことを記録します。このイベントとパラメーターの詳細については、イベントマネージャー のドキュメントを参照してください。
transactionFailed以下のコードを使用して イベントを作成します。
transactionFailedpublic void SendTransactionFailed(){ var productsReceived = new Product() { items = new List<Item>() { new Item(){ ItemName = "Golden Battle Axe" , ItemType = "Weapon", ItemAmount = 1}, new Item(){ ItemName = "Flaming Sword" , ItemType = "Weapon", ItemAmount = 1}, new Item(){ ItemName = "Jewel Encrusted Shield" , ItemType = "Armour", ItemAmount = 1} }, VirtualCurrencies = new List<VirtualCurrency>() { new VirtualCurrency() { VirtualCurrencyName = "Gold", VirtualCurrencyType = "PREMIUM", VirtualCurrencyAmount = 100 } } }; var productsSpent = new Product() { RealCurrency = new RealCurrency() { RealCurrencyType = "USD", RealCurrencyAmount = 499 } }; AnalyticsService.Instance.TransactionFailed(new TransactionFailedParameters { FailureReason = "cancelled", ProductsReceived = productsReceived, ProductsSpent = productsSpent, TransactionID = "100000576198248", TransactionName = "IAP - A Large Treasure Chest", TransactionType = TransactionType.PURCHASE, TransactionServer = TransactionServer.APPLE });}
IAP プラグインを使用した自動的な記録
Unity IAP で作成されたトランザクションは、イベントを手動で送信したときと同じ イベントスキーマを使用して Analytics に自動的に転送されます。トランザクションイベントは、Analytics で使用可能な収益 KPI に影響します。失敗したトランザクションは、 イベントの下で IAP プラグインによって自動的に追跡されます。
transactiontransactionFailedトランザクションの検証
トランザクション検証では、トランザクションが合法な購入かどうかを確認します。
プラットフォームでは、ダッシュボードに表示されている収益が真正な収益であり、ハッキングまたは改造されたゲームの結果ではないことを確認するために、iOS および Android ストアでトランザクションレシート検証を実施できます。
トランザクション検証を使用するには、以下を行う必要があります。
- 関連するストアの検証キーを提供して、Analytics プラットフォームがストアのレシートを検証できるようにします。これは、ダッシュボード の Project Settings (プロジェクト設定) で行うことができます。
- レシート検証パラメーターを イベントに追加して、トランザクションを検証する必要があることをプラットフォームに通知します (これは、ストアによって異なります)。
transaction
トランザクションイベントには、IAP レシート検証サービスで使用される パラメーターが含まれます。これは、収益検証を使用している場合には自動的に設定されます。使用可能な値は以下のとおりです。
revenueValidated
|
|
|---|---|
0 | このトランザクションは、収益検証サービスを使用しておらず、収益チャートに含まれます。 |
1 | このトランザクションは検証に合格し、収益チャートに含まれます。 |
2 | このトランザクションは検証に不合格で、収益チャートに含まれません。 |
3 | このトランザクションはエラーのため検証できず、収益チャートに含まれません。 |
Apple ストア
Analytics では、iOS トランザクションに対してレシート検証が自動的に試行されます。レシートを検証するには以下を iOS トランザクションに追加します。
"transactionServer": "APPLE","transactionID":"100000576198248","transactionReceipt": "ewok9Ja81............991KS=="
transactionReceipt Google Play
Google 公開鍵を提供する必要があります。Google キーを更新するには、Project Settings (プロジェクト設定) > In-app purchase (アプリ内課金) (IAP) 設定に移動し、Google ライセンスキーを設定します。
レシートを検証するには以下を Android トランザクションへのトランザクションイベントに追加します。
"transactionServer":"GOOGLE","transactionReceipt":"{ \"orderId\":\"GPA.1234-5678-9012-34567\", \"packageName\":\"com.example.app\", \"productId\":\"exampleSku\", \"purchaseTime\":1345678900000, \"purchaseState\":0, \"developerPayload\":\"bGoa+V7g/yqDXvKRqq+JTFn4uQZbPiQJo4pf9RzJ\", \"purchaseToken\":\"opaque-token-up-to-1000-characters\"}", "transactionReceiptSignature":"rNvoHwiBdLSW+........VncbYVJ61fmfsQ=="
重要: トランザクションレシートと秘密鍵はレシートを検証するために を生成するため、Google によって提供され、ネストされた JSON オブジェクトではなく文字列として渡される正確な文字列である必要があります。
transactionReceiptSignature