Set up SDK signature
SDK Signature lets you separate Adtrace traffic by install source or app store, analyze statistics per signature, and (optionally) strengthen fraud detection. Each signature gets its own secret values. You define signatures in the panel, embed one set in each store build, and filter reports by signature in the panel.
An account manager must enable SDK Signature on your account. Contact Adtrace support at info@adtrace.io if you want to use this feature.
What SDK signature does
| Use case | Description |
|---|---|
| Separate stores / sources | Use a different signature per store (for example Google Play, Bazaar, Myket). Installs, events, and revenue for that build are attributed under that signature. |
| Analytics filtering | In the panel, open Statistics → User Acquisition and enable Show by SDK Signature to break down data by signature. |
| Fraud detection | With Fraud Detection enabled for a signature, installs from APKs without the matching signature can be flagged as fraud. Enable only when every production APK includes a signature. |
Adtrace supports SDK Signature on native mobile SDKs (Android, iOS, etc.). It is not available for Web.
Before you begin
| Requirement | Details |
|---|---|
| Account activation | SDK Signature enabled by Adtrace (contact info@adtrace.io) |
| Panel access | App Secrets visible in the Adtrace panel after activation |
| One build per signature | Each store/source release should embed one signature. Multiple signatures = multiple release builds. |
Step 1: Define signatures in the panel
- Open the Adtrace panel → Settings.
- Open the SDK Signature section and choose Add SDK Signature.
- Fill in:
| Field | Description |
|---|---|
| Name | Label for the store or install source (for example Myket, Bazaar, Google Play). |
| App Version | SDK signature version (not your app’s versionName). Used to tell signatures apart when you need multiple. One signature version can cover several app versions. |
| App Store Type | Store type (for example Bazaar, Myket, Play Store). |
- Select Add. Repeat for each store or source you need.
- Copy the values Adtrace shows for each signature:
- Secret ID (also called Security ID)
- Four numeric secret fields (
info1…info4)
Optional: turn on Fraud Detection for a signature only if all APKs you ship for that channel include that signature.
Step 2: Integrate in the SDK
Call setAppSecret on your AdTraceConfig instance before AdTrace.onCreate().
Method signature
public void setAppSecret(long secretId, long info1, long info2, long info3, long info4)
| Parameter | Description |
|---|---|
secretId | Secret ID (Security ID) from the panel for this signature |
info1 | First secret value from the panel |
info2 | Second secret value from the panel |
info3 | Third secret value from the panel |
info4 | Fourth secret value from the panel |
Use the values from one panel signature per build. Do not mix secrets from different signatures in the same APK.
Example
- Java
- Kotlin
- WebBridge
String appToken = "{YourAppToken}";
String environment = AdTraceConfig.ENVIRONMENT_PRODUCTION;
AdTraceConfig config = new AdTraceConfig(this, appToken, environment);
config.setAppSecret(secretId, info1, info2, info3, info4);
AdTrace.onCreate(config);
val appToken = "{YourAppToken}"
val environment = AdTraceConfig.ENVIRONMENT_PRODUCTION
val config = AdTraceConfig(this, appToken, environment)
config.setAppSecret(secretId, info1, info2, info3, info4)
AdTrace.onCreate(config)
let adtraceConfig = new AdTraceConfig(yourAppToken, environment);
adtraceConfig.setAppSecret(secretId, info1, info2, info3, info4);
AdTrace.onCreate(adtraceConfig);
Replace secretId, info1, … info4 with the numbers from the panel for the store you are building.
Reference: Android SDK README (SDK Signature).
To reduce exposure in decompiled APKs, load appToken and signature values from NDK/JNI. See Hide sensitive information with NDK.
Multiple signatures and store builds
Typical pattern for multi-store apps:
- Define one signature per store in the panel (for example Play, Bazaar, Myket).
- Build separate release APKs/AABs, each with one
setAppSecret(...)configuration. - Upload each build to its store.
Example: three signatures → three release builds (swap secret values between builds, or automate with build flavors).
All installs and events from a build are recorded under that build’s signature. Filter by signature in the panel to compare stores.
Test before release
You can test signatures before production release:
- Create test signatures in the panel (or use production signatures in internal builds).
- For each signature you want to verify, produce a separate installable build with that signature set in code.
- Perform a fresh install on a test device (not an upgrade from another signed build).
- Trigger installs and events, then check Statistics with Show by SDK Signature enabled.
- Confirm installs and events appear under the expected signature.
If you reuse the same device to test another signature:
- Uninstall the app.
- In the panel Testing Console, open the device → Forget Device (same flow as integration testing).
- Install the next signature build and repeat.
Each installed APK should contain exactly one signature configuration. Testing signature A, then installing signature B on the same device without a reset can produce misleading attribution.
Common questions
See FAQ for App Version vs signature version, Secret ID, pre-release testing, and Fraud Detection behavior.