Version: 2017.3
Testing Remote Settings
Receipt Verification


Unity Analytics allows you to monitor your in-game revenue from monetization. By implementing receipt verification you’ll quickly see legitimate or fraudulent transactions.

Unity Analytics provides the Analytics.Transaction method for tracking monetization events through in-app purchases. This method should be called every time a player triggers a monetization event. The Analytics.Transaction method requires a price parameter, a currency and an optional Apple iTunes / Google Play receipt string.

  // 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 Input Parameters
Name Type Description
productId string The id of the purchased item.
price decimal The price of the item.
currency string Abbreviation of the currency used for the transaction. For example “USD” (United States Dollars). See here for a standardized list of currency abbreviations.
receipt string Receipt data (iOS) or receipt ID (Android) for in-app purchases to verify purchases with Apple iTunes or Google play. Use null in the absence of receipts. For more details see Receipt Verification.
signature string Android receipt signature. If using native Android use the INAPP_DATA_SIGNATURE string containing the signature of the purchase data that was signed with the private key of the developer. The data signature uses the RSASSA-PKCS1-v1_5 scheme. Pass in null in the absence of a signature.

The example below is for a $0.99 transaction in USD without receipt validation.

Analytics.Transaction("12345abcde", 0.99m, "USD", null, null);
Testing Remote Settings
Receipt Verification