This page describes how to verify Adjust is integrated properly. Particularly important, is that the correct values are being sent to Adjust when purchases are made. The log examples included are from Android sample runs. iOS will have similar entries.
When Adjust is properly initialized, you will see the following in the logs around when the app is first launched.
06-01 11:25:29.589: D/KONG(28495): Adjust initialize
06-01 11:25:29.592: D/KONG(28495): Adjust initializing: abcdef123456 : production
06-01 11:25:29.594: A/Adjust(28495): PRODUCTION: Adjust is running in Production mode. Use this setting only for the build that you want to publish. Set the environment to `sandbox` if you want to test your app!
0
For Kong Analytics, look for the following.
06-01 11:25:29.454: D/KONG(28495): Kong Analytics Service Initialized
Search the logs after a successful purchase for “IAP FLOW”. When all is good you should see the following lines:
06-01 10:41:09.381: I/KONG(15681): IAP FLOW STEP: startPurchase() - com.kongregate.mobile.endlessbossfight.google.t05_hard
06-01 10:41:32.618: W/KONG(15681): IAP FLOW STEP: finishPurchase(): SUCCESS
06-01 10:41:32.794: W/KONG(15681): IAP FLOW STEP: completed: iap_transactions
To go deeper and verify the correct values are being sent to Adjust look for these log lines, which should appear just before “completed: iap_transactions” line.
06-01 10:41:32.739: D/KONG(15681): adding event to collection: iap_transactions
06-01 10:41:32.758: D/KONG(15681): firing Adjust event: sale token: abc123
06-01 10:41:32.758: D/KONG(15681): Adding revenue to adjust event: 4.99
06-01 10:41:32.790: D/KONG(15681): added event to collection: iap_transactions
Make sure you see the correct amount being added for the Adjust events.
IMPORTANT It’s up to your game to notify the finishPurchase()
method if receipt validation fails or the purchase fails for some other reason. Adjust does not have built in receipt validation, so whatever is passed to finishPurchase()
will propagate up to Adjust.
If receipt validation fails, you should see the following in the logs.
06-01 11:09:46.349: W/KONG(3332): IAP FLOW STEP: finishPurchase(): RECEIPT_FAIL
06-01 11:09:46.349: I/KONG(3332): iapFail: receipt_signature_invalid
06-01 11:09:46.349: W/KONG(3332): IAP FLOW STEP: completed: iap_fails : receipt_signature_invalid
06-01 11:09:46.349: D/KONG(3332): UnityWrapper : message received KONG_API_EVENT_RECEIPT_VERIFICATION_COMPLETED
If the user cancels out of a purchase or the purchase fails for some other reason, you should see.
06-01 11:12:37.846: D/KONG(3332): parsing JSON to analytics map: { }
06-01 11:12:37.846: W/KONG(3332): IAP FLOW STEP: finishPurchase(): FAIL
06-01 11:12:37.856: I/KONG(3332): iapFail: com.kongregate.mobile.endlessbossfight.google.t05_hard
06-01 11:12:37.856: D/KONG(3332): adding event to collection: iap_fails
06-01 11:12:37.866: W/KONG(3332): IAP FLOW STEP: completed: iap_fails : com.kongregate.mobile.endlessbossfight.google.t05_hard
After your app fires events, it will take about an hour for them to appear in the adjust dashboard. Be sure to have the environment set to sandbox for testing.
Adjust will use the devices Ad IDs to ensure an install is only tracked once for a device. During testing, it may be useful to reset this for a device. The links below will tell Adjust to forget your device.
iOS https://app.adjust.io/forget_device?app_token= < app token >&idfa= < IDFA of your device >
Android https://app.adjust.io/forget_device?app_token= < app token >&gps_adid= < Advertiser ID of your device >
Android https://app.adjust.io/forget_device?app_token= < app token >&android_id= < Android ID of your device >
Android https://app.adjust.io/forget_device?app_token= < app token >&mac= < Wifi MAC of your device >
See Adjust Documentation Site for more details.
<bundle_id>.tXX_<type>
(e.g. com.kongregate.mobile.endlessbossfight.google.t05_hard) naming convention.KongregateAPI.Analytics.finishPurchase(...)
prior to SKPaymentQueue.finishTransaction()