Skip to main content

5.1 Troubleshooting Guide

This guide is for developers who have completed the Mediation SDK integration but cannot load or display ads. Troubleshoot in this order: initialization → cloud configuration → ad source integration → request and fill → display. Do not click production ads unless test mode has been confirmed.

30-Second Checklist​

  • Use the current documented version of mediation-lib and the corresponding ad source *-lib. Do not mix versions.
  • Initialize with a valid production App ID and confirm that the application package name matches the platform configuration.
  • Make sure the Placement ID, ad format, and API match. For example, use TInterstitialAd for an interstitial placement.
  • Confirm that the device is online and its country or region is included in the placement's delivery scope.
  • Complete the Integration Testing setup. Test mode may need to be configured separately for each ad source.
  • Call loadAd() only after onCloudComplete has finished.
  • Implement and record the error code and message returned by onError() and onShowError().

Step 1: Confirm Initialization and Cloud Configuration​

Set the cloud configuration callback during initialization and record its code and message. Request ads only after code == 0. Resolve initialization or cloud configuration errors first when the code is non-zero.

.setCloudCompleteListener(new TAdManager.OnCloudCompleteListener() {
@Override
public void onCloudComplete(int code, String message) {
// Record code and message with the application logging system
if (code == 0) {
// Request ads here
}
}
})

Common branches:

  • 60001: The App ID is empty or invalid. Check the initialization parameters.
  • 70001–70006: A cloud request, App ID, package name, operating system, or platform application status error occurred.
  • 70007: No local placement configuration was found. Confirm that the placement is active and available in the current region, and load only after cloud configuration succeeds.
  • 70011–70013: No ad source is configured, the API does not match the ad format, or the placement is disabled.

See Error Location for the complete error-code actions.

Step 2: Confirm the Ad Source Integration​

If cloud configuration succeeds but ads never load, check the following:

  1. The corresponding ad source *-lib is included and uses the same version as mediation-lib.
  2. All platform-specific Maven repository, Manifest, App ID, ProGuard, and network requirements are configured.
  3. The ad source SDK version matches the Third-Party Library Compatibility table.
  4. If another ad source does not deliver ads, first confirm that it is integrated successfully. Enable SDK logs and check the following output. exist = true means that the ad source is integrated:
For example:
...
platform classname = com.hisavana.adxlibrary.check.ExistsCheck exist = true
platform classname = com.hisavana.admoblibrary.check.ExistsCheck exist = true
platform classname = com.hisavana.fblibrary.excuter.check.ExistsCheck exist = true
...

Error 30001 normally indicates ad source initialization failure. Check dependencies and platform parameters first. If it persists, provide the complete initialization log to SDK support.

Step 3: Enable Logs and Record Callbacks​

Use .setDebug(BuildConfig.DEBUG) to enable SDK logs in Debug builds, or run the following commands on a test device:

adb shell setprop log.tag.ADSDK DEBUG
adb shell setprop log.tag.AD_NET_LOG DEBUG
adb logcat | grep ADSDK

ADSDK_M contains the mediation flow logs, and ADSDK_N contains ad network request logs. Record the error code and message from onError() and onShowError() while reproducing the issue:

@Override
public void onError(TAdErrorCode errorCode) {
if (errorCode == null) {
return;
}
int code = errorCode.getErrorCode();
String message = errorCode.getErrorMessage();
// Record code and message with the application logging system
}

@Override
public void onShowError(TAdErrorCode errorCode) {
if (errorCode == null) {
return;
}
int code = errorCode.getErrorCode();
String message = errorCode.getErrorMessage();
// Record code and message with the application logging system
}

Step 4: Branch by Result​

SymptomCommon Error CodesWhat to Check
Initialization or cloud configuration is incomplete60001, 70001–70007Check the App ID, package name, network, and platform configuration, then wait for the cloud callback
Ad source initialization fails30001Check the corresponding *-lib, platform App ID, Manifest, ProGuard rules, and version compatibility
Request times out or returns no fill20001–20008, 30002–30006, Hisavana SSP 9000 seriesCheck the network, test mode, placement delivery, platform inventory, and ad source parameters
onLoad() fires but the ad cannot be displayed40001–40002, 50001, 60002, 60006–60007Display only after load success, ensure the object is not destroyed, avoid duplicate display, and check scene restrictions

Only a successful onLoad() means that an ad has loaded. Use onShowError() to diagnose display-stage failures. Continue with Frequently Asked Questions for platform-specific issues.

Information to Include in a Support Request​

If the issue remains unresolved, provide all of the following instead of only a screenshot saying that no ad appeared:

  • Mediation SDK version and ad source Adapter version.
  • Application package name, Placement ID, ad format, and target ad source.
  • Incident time with time zone, country or region, network type, device model, and Android version.
  • Whether test mode is enabled and whether a test or production placement is used.
  • Complete code/message from onCloudComplete, onError, or onShowError.
  • ADSDK_M and ADSDK_N logs from initialization through the failure callback.

Remove unrelated user information before sharing logs. Do not publish production App IDs, placement credentials, or complete ad responses.