Unity Analytics はマネタイゼーションのためにゲーム内収入をモニタリングすることができます。レシート検証 を行うことにより、正当なものかどうかすぐに分かります。
Unity Analytics では、アプリ内課金を通じてのマネタイゼ―ションを追跡するために UnityAnalytics.Transaction メソッドが用意されています。このメソッドは、マネタイゼーション イベントが発生するごとに呼び出される必要があります。 Analytics.Transaction メソッドは、パラメーターとして price (価格) や currency (通貨) が必須で、場合により Apple iTunes や Google Play の receipt (レシート) の文字列が必要となる場合もあります。
// Reference the Unity Analytics namespace
using UnityEngine.Analytics;
// Use this call for each and every place that a player triggers a monetization event
Analytics.Transaction(string productId, decimal price,
string currency, string receipt,
string signature);
Analytics.Transaction に必要なパラメーター | ||
---|---|---|
名前 | 型 | 説明 |
productId | string | 購入アイテムの ID |
price | decimal | アイテムの価格 |
currency | string | 取引に使用される通貨の略語。例えば、“USD” (United States Dollars: 米国ドル)など。通貨略称の標準略語リストについては、こちらを参照してください。 |
receipt | string | Apple iTunes や Google Play で行った購入を検証するための アプリ内課金用のレシートデータ(iOS)またはレシート ID(Android)。レシートが存在しない場合は、null を使用します。詳細は、レシート検証を参照してください。 |
signature | string | Android のアプリ内課金のレシートの署名。ネイティブの Android を使用している場合は、デベロッパーの私有鍵 (private key) で署名された購入データの文字列を含む INAPP_DATA_SIGNATURE を使用します。データの署名は、RSASSA-PKCS1-v1_5 を使います。署名が存在しないときは、null を渡します。 |
下記の例は、レシート検証なしの $0.99 USD の取引です。
Analytics.Transaction("12345abcde", 0.99m, "USD", null, null);
テストとして、サーバーにマネタイゼーションのデータを送信し、エディター実行中、実際に課金処理が行われるかを確認します。もし成功したのであれば、テストデータは下記のテーブルのように表示されます。