Adjust
The Appodeal SDK gives you tools to grow your mobile apps & games. Adjust is one of them.
Use the Adjust account for free to track your attribution & analytics metrics from your UA campaigns.
Evaluate your soft launch and other marketing campaigns from the Appodeal Reports page that you will find inside your Appodeal Dashboard.
Compare Ads vs. IAPs vs. subscription revenues
Get Forecasted LTV based on UA campaigns
Find out which Ad Creatives bring top-paying users
Sync your retention metrics with your ARPU & revenues
Build deep granular reports to find out new growth opportunities
We have two options for linking Adjust :
- Our Free Adjust account.
If you are planning to run UA campaigns in near future, you can link our Adjust account for Free. - Your own Adjust account.
Adjust integration steps
To connect with Adjust, follow the steps:
Appodeal Free Adjust account
Step 1: Import Adjust
Complete all the steps from our integration guide.
Make sure to integrate Adjust distributed via Appodeal SDK.
Step 2: Contact us
Contact our support team via live chat or via email support@appodeal.com with the following information:
- The desired option.
- Links to the apps in store, which you want to connect.
- Traffic sources, where you are planning to run UA campaigns.
Support team will finish your Adjust integration from Appodeal side and let you know
Demo application
You can use our demo analytics app as a reference project.
Validate in-app purchases
In-App purchase tracking will work only with connection with Adjust/Appsflyer. To connect them, follow the guide.
It's possible to track in-app purchase information and send info to Appodeal servers for analytics. It allows to group users by the fact of purchasing in-apps. This will help you to adjust the ads for such users or simply turn it off, if needed. To make this setting work correctly, please submit the purchase info via the Appodeal SDK.
To track in-app purchase, Appodeal SDK will need info about purchase provided by the Google Play Billing Library.
Add the following dependency into your module-level build.gradle:
dependencies { // ... other project dependencies implementation "com.android.billingclient:billing:5.0.0" }
Get your Purchase and SkuDetails objects from the Google Play Billing Library using the guide. Get a price and currency from SkuDetails.
Create and validate in-app purchase.
// Purchase object is returned by Google API in onPurchasesUpdated() callback public void validatePurchase(Purchase purchase) { // Create new InAppPurchase InAppPurchase inAppPurchase = InAppPurchase.newBuilder("PURCHASE_TYPE") .withPublicKey("YOUR_PUBLIC_KEY") .withSignature(purchase.getSignature()) .withPurchaseData(purchase.getOriginalJson()) .withPurchaseToken(purchase.getPurchaseToken()) .withPurchaseTimestamp(purchase.getPurchaseTime()) .withDeveloperPayload(purchase.getDeveloperPayload()) .withOrderId(purchase.getOrderId()) //Stock keeping unit id from Google API .withSku(...) //Price from Stock keeping unit .withPrice(...) //Currency from Stock keeping unit .withCurrency(...) //Appodeal In-app event if needed .withAdditionalParams(...) .build(); // Validate InApp purchase Appodeal.validateInAppPurchase(this, inAppPurchase, new InAppPurchaseValidateCallback () { @Override public void onInAppPurchaseValidateSuccess(@NonNull InAppPurchase purchase, @Nullable List<ServiceError> errors) { // In-App purchase validation was validated successfully by at least one // connected service } @Override public void onInAppPurchaseValidateFail(@NonNull List<ServiceError> errors) { // In-App purchase validation was failed by all connected service } }); }
Parameter | Description | Usage |
---|---|---|
purchaseType | Purchase type. Must be InAppPurchase.Type.InApp or InAppPurchase.Type.Subs | Adjust/AppsFlyer |
publicKey | Public key from Google Developer Console. | AppsFlyer |
signature | Transaction signature (returned from Google API when the purchase is completed). | Adjust/AppsFlyer |
purchaseData | Product purchased in JSON format (returned from Google API when the purchase is completed). | AppsFlyer |
purchaseToken | Product purchased token (returned from Google API when the purchase is completed). | Adjust |
purchaseTimestamp | Product purchased timestamp (returned from Google API when the purchase is completed). | Adjust |
developerPayload | Product purchased developer payload (returned from Google API when the purchase is completed). | Adjust |
orderId | Product purchased unique order id for the transaction (returned from Google API when the purchase is completed). | Adjust |
sku | Stock keeping unit id. | Adjust |
price | In-app event revenue. | Adjust/AppsFlyer/Appodeal |
currency | In-app event currency. | Adjust/AppsFlyer/Appodeal |
additionalParameters | Additional parameters of the in-app event. |
In-App purchase validation runs by FIFO queue in a single thread.
Event tracking
Appodeal SDK allows you to send events to analytic services such as Firebase, AppsFlyer, Adjust and Meta using a single method:
// Create map of event parameters if required Map<String, Object> params = new HashMap<>(); params.put("example_param_1", "Param1 value"); params.put("example_param_2", 123); Appodeal.logEvent("appodeal_sdk_test_event", params);
Please note:
Event parameters can only be strings and numbers.