SDK FAQ
6 min read
🔥 Full Tenjin access for $200/month — all features, no add‑ons, cancel anytime. See pricing & features
6 min read
Yes, you can remove the following line from Android Manifest file.
android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" /> Execution failed for task ':transformClassesWithDexForRelease'.
com.android.build.API.transform.TransformException: com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException: com.android.dex.DexException: Multiple dex files define Lcom/google/android/gms/actions/ItemListIntents;This error happens when you have a different version of Google Play Service library on our older Tenjin SDKs. Please update to the latest one or remove the following library to resolve:
/Assets/Plugins/Android/play-services-basement-11.0.4.aarWe started supporting two SDKs for Android other app stores, MSA OAID SDK (minSdkVersion is 21 for version 1.0.25), Huawei referrer SDK (minSdkVersion is 19). Both these SDKs required us to update the minSdkVersion from 16 to 19 and 19 to 21 repectively. This is the reason for tenjin to have minSdkVersion as 21.
If you need to have the latest SDK but don’t intend to integrate Huawei referrer SDK and MSA OAID SDK, then try to use this branch.
Some of our customers have used this plug-in in the past. Please note that this plugin has not been built officially by Tenjin.
This can be fixed by removing the line 74 in TenjninEditorPrefs.cs. If it’s still not solved, please write to us at support@tenjin.com with details. Please note, this should be followed only when you’re not using Applovin MAX ILRD via Tenjin.
Remove the permission:
<uses-permission android:name=“android.permission.READ_PHONE_STATE” />If the issue persists, please email us at support@tenjin.com.
You can refer to these instructions for it here.
Since Huawei phones are now not technically considered to be Android devices, to resolve this error, you will need to implement the Huawei OAD library from here so that the Tenjin SDK can fetch the OAID from the device.
We currently do not support Unity Codeless IAP. We request you to instead use the traditional Unity IAP method until we start supporting the Unity codelss IAP.
Currently, the Tenjin SDK only processes and reports purchases made through the App Store or Google Play with a valid receipt. For external purchases (such as marketplace transactions, credit card payments, or other non-IAP revenue), you can use Tenjin’s Server-to-Server (S2S) integration. Please reach out to support@tenjin.com for more details and setup instructions.
To fix it, please update your ProGuard/R8 rules to preserve these classes and attributes:
-keepattributes Signature
-keepattributes *Annotation*
-keep class com.google.gson.reflect.TypeToken { *; } 404 – App not set up: App/store ID not configured correctly, app store type mismatch or incorrect SDK key (allow a few minutes after setup changes)
202 – Invalid device identifier: Missing/invalid advertising ID or incorrect GDPR/opt-out setup
202 – Not logged: SDK key may be disabled
401 – Unauthorized: SDK key is invalid or incorrect
Install Referrer error (Android): Missing decryption key or incorrect ProGuard/R8 configuration
After. Call connect() only once the user has made a selection on the ATT prompt.
If connect() fires at the same time as (or before) the prompt, the ATT status is still “undetermined” and the SDK can’t read the IDFA — which weakens Attribution matching.
Correct order: Show ATT prompt → user taps Allow / Ask App Not to Track → call Tenjin.connect()
getAttributionInfo returns empty or missing fields. Why? #Attribution isn’t instant. After connect(), the server has to receive the request, match the click, and generate a result — roughly 3 seconds is standard industry latency. If you query too early, the result may still be calculating.
Implement retry logic on the client:
connect() — call it right after the privacy policy consent (Android) or ATT selection (iOS).getAttributionInfo call 2–3 seconds after connect().advertising_id coming through as null (resulting in a 202 error) on the native Android SDK, even though I’ve declared the AD_ID permission? #If you are applying ProGuard, keep in mind to add the rules to avoid obfuscating the required Google classes to access the GAID:
proguard
-keep class com.tenjin.** { *; }
-keep public class com.google.android.gms.ads.identifier.** { *; }
-keep public class com.google.android.gms.common.** { *; }
-keep public class com.google.android.gms.appset.** { *; }
-keep public class com.android.installreferrer.** { *; }