Testing
After adding a new app to Appodeal and integrating the SDK, we recommend testing your app. Here are the tips for successful testing.
Integration Review
Step 1. Prepare Settings On Appodeal Side
Check Mediation Settings
Go to Application Settings → Mediation Settings → Line Items.
Choose the ad type you are interested in and check the network connection.
In the Line Items section, you can see the rules for automatically connecting ad networks. Once you fulfill all the requirements, networks will be connected automatically using the default Appodeal account.
Example:
For new applications, a few networks will be connected by default if the Appodeal server receives a request for a certain ad type.
If you see This network will be activated by ad request.
Try to request real ads to activate this network using the default Appodeal
account.
Make sure you have at least 2-3 enabled networks. If the requirements for automatic network connection are not fulfilled, link a personal account using Networks Setup to have more networks connected.
Make sure the ad units are enabled for the connected networks:
Check Priorities (Waterfall Configuration).
Go to Application settings → Mediation Settings → Priorities, and choose the ad type.
By default, only default priority configuration is enabled for the waterfall, where all ad units from connected networks are placed. Make sure line items have been added to your current configuration.
If not, add them to the configuration by dragging and dropping ad units from the Unused Line Items list on the left to Automatic Priority.
Step 2. Test Your SDK Integration
Check SDK Integration With Test Ads.
Test mode ads have a 100% fill rate, they load almost instantly compared to real ads, which can take some time to load (0-30 seconds depending on the ad type).
- Enable Test Mode
- Enable SDK Logging
- Make sure that all necessary adapters have been integrated into the app. To get test ads, it's required to have all adapters marked by a star in Mediation Wizard.
- Run the app and go to all placements where you added ads. Make sure they are loaded and shown successfully.
- Open the logs tab and check Appodeal SDK logs. For more information, look through the SDK logging
Requests for test ads are not counted as real requests, however, Appodeal needs at least one real request for automatically activating networks for a certain ad type.
Check SDK Integration With Real Ads.
We recommend testing apps using test mode to ensure proper performance with real ads. However, it's necessary to make sure SDK integration is correct and all networks are ready to use.
- Disable test mode by commenting out the method you used to enable it.
- Check that Appodeal SDK logging is enabled.
- Make sure that all necessary adapters for the networks you are planning to use have been integrated. For more information please visit the Mediation Wizard.
- Open your application and initialize SDK to make a request for activating the ad networks. You can see all the activity of our SDK in the logs under the "Appodeal" tag.
- When network setup is ready, run the app again and open the logs console. Make sure there are no errors in the logs. Use SDK logging to analyze Appodeal logs. Go through all placements where you added ads. Make sure they are loaded and shown successfully with no exceptions and errors
If your app is not published in one of the supported app stores (Google Play, App Store, Amazon), the number of impressions for live ads is restricted to 2,000.
Useful SDK Methods
Enable Test Mode
Using test mode allows you to get our test ad creatives with 100% fillrate.
- Kotlin
- Java
Appodeal.setTesting(testMode = true)
Appodeal.setTesting(true)
Enable Logging
SDK logging allows you to check SDK integration and activity, including information about waterfalls with ad units, ads requesting, loading, and some other. We recommend always enabling logs and use the verbose log level to get full SDK information.
To enable debug logging, use the code below:
- Kotlin
- Java
Appodeal.setLogLevel(logLevel = Log.LogLevel.verbose)
Appodeal.setLogLevel(Log.LogLevel.verbose);
Logs will be written to logcat using the Appodeal
tag.
Available parameters:
Log.LogLevel.none
- logs off;Log.LogLevel.debug
- debug messages;Log.LogLevel.verbose
- all SDK and ad network messages.
Connect a device with the app installed, open the Android Studio Logcat console, run the app and check SDK logs by the Appodeal tag. For more information about the console please visit Debugging with Android Studio.
Disable Networks
- Kotlin
- Java
Appodeal.disableNetwork(network = "network_name")
com.appodeal.ads.adnetworks.MediationAdNetwork
. MediationAdNetwork.A4g.networkName
MediationAdNetwork.AdColony.networkName
MediationAdNetwork.Admob.networkName
MediationAdNetwork.AdmobNative.networkName
MediationAdNetwork.AdmobMediation.networkName
MediationAdNetwork.Applovin.networkName
MediationAdNetwork.Appodeal.networkName
MediationAdNetwork.BidMachine.networkName
MediationAdNetwork.BigoAds.networkName
MediationAdNetwork.DTExchange.networkName
MediationAdNetwork.Gam.networkName
MediationAdNetwork.Meta.networkName
MediationAdNetwork.Mintegral.networkName
MediationAdNetwork.Inmobi.networkName
MediationAdNetwork.IronSource.networkName
MediationAdNetwork.Mraid.networkName
MediationAdNetwork.MyTarget.networkName
MediationAdNetwork.Notsy.networkName
MediationAdNetwork.UnityAds.networkName
MediationAdNetwork.Vast.networkName
MediationAdNetwork.Vungle.networkName
MediationAdNetwork.Bidon.networkName
MediationAdNetwork.Yandex.networkName
Appodeal.disableNetwork("network_name");
com.appodeal.ads.adnetworks.MediationAdNetwork
. MediationAdNetwork.A4g.getNetworkName();
MediationAdNetwork.AdColony.getNetworkName();
MediationAdNetwork.Admob.getNetworkName();
MediationAdNetwork.AdmobNative.getNetworkName();
MediationAdNetwork.AdmobMediation.getNetworkName();
MediationAdNetwork.Applovin.getNetworkName();
MediationAdNetwork.Appodeal.getNetworkName();
MediationAdNetwork.BidMachine.getNetworkName();
MediationAdNetwork.BigoAds.getNetworkName();
MediationAdNetwork.DTExchange.getNetworkName();
MediationAdNetwork.Gam.getNetworkName();
MediationAdNetwork.Meta.getNetworkName();
MediationAdNetwork.Mintegral.getNetworkName();
MediationAdNetwork.Inmobi.getNetworkName();
MediationAdNetwork.IronSource.getNetworkName();
MediationAdNetwork.Mraid.getNetworkName();
MediationAdNetwork.MyTarget.getNetworkName();
MediationAdNetwork.Notsy.getNetworkName();
MediationAdNetwork.UnityAds.getNetworkName();
MediationAdNetwork.Vast.getNetworkName();
MediationAdNetwork.Vungle.getNetworkName();
MediationAdNetwork.Bidon.getNetworkName();
MediationAdNetwork.Yandex.getNetworkName();
Disable Networks For Specific Ad Types
- Kotlin
- Java
Appodeal.disableNetwork(network = "network_name", adTypes = adTypes)
com.appodeal.ads.adnetworks.MediationAdNetwork
. MediationAdNetwork.A4g.networkName
MediationAdNetwork.AdColony.networkName
MediationAdNetwork.Admob.networkName
MediationAdNetwork.AdmobNative.networkName
MediationAdNetwork.AdmobMediation.networkName
MediationAdNetwork.Applovin.networkName
MediationAdNetwork.Appodeal.networkName
MediationAdNetwork.BidMachine.networkName
MediationAdNetwork.BigoAds.networkName
MediationAdNetwork.DTExchange.networkName
MediationAdNetwork.Gam.networkName
MediationAdNetwork.Meta.networkName
MediationAdNetwork.Mintegral.networkName
MediationAdNetwork.Inmobi.networkName
MediationAdNetwork.IronSource.networkName
MediationAdNetwork.Mraid.networkName
MediationAdNetwork.MyTarget.networkName
MediationAdNetwork.Notsy.networkName
MediationAdNetwork.UnityAds.networkName
MediationAdNetwork.Vast.networkName
MediationAdNetwork.Vungle.networkName
MediationAdNetwork.Bidon.networkName
MediationAdNetwork.Yandex.networkName
Appodeal.disableNetwork("network_name", adTypes);
com.appodeal.ads.adnetworks.MediationAdNetwork
. MediationAdNetwork.A4g.getNetworkName();
MediationAdNetwork.AdColony.getNetworkName();
MediationAdNetwork.Admob.getNetworkName();
MediationAdNetwork.AdmobNative.getNetworkName();
MediationAdNetwork.AdmobMediation.getNetworkName();
MediationAdNetwork.Applovin.getNetworkName();
MediationAdNetwork.Appodeal.getNetworkName();
MediationAdNetwork.BidMachine.getNetworkName();
MediationAdNetwork.BigoAds.getNetworkName();
MediationAdNetwork.DTExchange.getNetworkName();
MediationAdNetwork.Gam.getNetworkName();
MediationAdNetwork.Meta.getNetworkName();
MediationAdNetwork.Mintegral.getNetworkName();
MediationAdNetwork.Inmobi.getNetworkName();
MediationAdNetwork.IronSource.getNetworkName();
MediationAdNetwork.Mraid.getNetworkName();
MediationAdNetwork.MyTarget.getNetworkName();
MediationAdNetwork.Notsy.getNetworkName();
MediationAdNetwork.UnityAds.getNetworkName();
MediationAdNetwork.Vast.getNetworkName();
MediationAdNetwork.Vungle.getNetworkName();
MediationAdNetwork.Bidon.getNetworkName();
MediationAdNetwork.Yandex.getNetworkName();
Test Third-Party Network Adapters Integration
You can use our Test Activity for manual testing adapters integration.
To start Test Activity call:
- Kotlin
- Java
Appodeal.startTestActivity(activity = activity)
Appodeal.startTestActivity(activity);