Skip to content

Android Overseas Third-party Ad Networks

Overview

UJU SDK supports integration of multiple overseas mainstream ad networks, helping developers maximize ad revenue worldwide. This document will introduce how to integrate overseas third-party ad networks.

Supported Overseas Ad Networks

Ad NetworkPlatformSupported Ad TypesIntegration Difficulty
AdMobAndroid/iOSBanner, Rewarded Video, Native, Interstitial, SplashMedium
Facebook Audience NetworkAndroid/iOSBanner, Rewarded Video, Native, InterstitialMedium
Unity AdsAndroid/iOSBanner, Rewarded Video, InterstitialEasy
IronSourceAndroid/iOSBanner, Rewarded Video, Native, InterstitialMedium
AppLovinAndroid/iOSBanner, Rewarded Video, Native, InterstitialMedium

Integration Steps

1. Apply for Accounts

Before integrating overseas ad networks, you need to apply for developer accounts on each platform:

2. Add Dependencies

Add overseas ad network dependencies to your app-level build.gradle file:

gradle
dependencies {
    // UJU SDK
    implementation 'com.ujuad:sdk:1.0.0'
    
    // AdMob SDK
    implementation 'com.google.android.gms:play-services-ads:20.5.0'
    
    // Facebook Audience Network SDK
    implementation 'com.facebook.android:audience-network-sdk:6.11.0'
    
    // Unity Ads SDK
    implementation 'com.unity3d.ads:unity-ads:4.4.1'
    
    // IronSource SDK
    implementation 'com.ironsource.sdk:mediationsdk:7.2.7.0'
    
    // AppLovin SDK
    implementation 'com.applovin:applovin-sdk:11.4.2'
}

3. Configure AndroidManifest.xml

Add necessary configurations to AndroidManifest.xml file:

xml
<!-- AdMob configuration -->
<meta-data
    android:name="com.google.android.gms.ads.APPLICATION_ID"
    android:value="YOUR_ADMOB_APP_ID" />

<!-- Facebook Audience Network configuration -->
<meta-data
    android:name="com.facebook.sdk.ApplicationId"
    android:value="YOUR_FACEBOOK_APP_ID" />

<!-- Unity Ads configuration -->
<meta-data
    android:name="unity.splash-mode"
    android:value="0" />
<meta-data
    android:name="unity.fullscreen.backgroundcolor"
    android:value="#000000" />

4. Initialize Overseas Ad Networks

Initialize overseas ad networks in the onCreate method of your Application class:

java
private void initOverseasAdNetworks() {
    // Initialize AdMob
    initAdMob();
    
    // Initialize Facebook Audience Network
    initFacebook();
    
    // Initialize Unity Ads
    initUnityAds();
    
    // Initialize IronSource
    initIronSource();
    
    // Initialize AppLovin
    initAppLovin();
}

private void initAdMob() {
    // AdMob initialization code
    MobileAds.initialize(this, initializationStatus -> {
        Log.d("AdMob", "AdMob initialization successful");
    });
}

private void initFacebook() {
    // Facebook Audience Network initialization code
    AudienceNetworkAds.initialize(this);
    Log.d("Facebook", "Facebook Audience Network initialization successful");
}

private void initUnityAds() {
    // Unity Ads initialization code
    UnityAds.initialize(this, "YOUR_UNITY_GAME_ID", false, new IUnityAdsInitializationListener() {
        @Override
        public void onInitializationComplete() {
            Log.d("UnityAds", "Unity Ads initialization successful");
        }
        
        @Override
        public void onInitializationFailed(UnityAds.UnityAdsInitializationError error, String message) {
            Log.e("UnityAds", "Unity Ads initialization failed: " + message);
        }
    });
}

private void initIronSource() {
    // IronSource initialization code
    IronSource.init(this, "YOUR_IRONSOURCE_APP_KEY");
    Log.d("IronSource", "IronSource initialization successful");
}

private void initAppLovin() {
    // AppLovin initialization code
    AppLovinSdk.getInstance(this).setMediationProvider("max");
    AppLovinSdk.getInstance(this).initializeSdk(config -> {
        Log.d("AppLovin", "AppLovin initialization successful");
    });
}

Ad Unit Configuration

1. Create Ad Units

Create ad units on each ad network platform and obtain ad unit IDs:

  • AdMob: Log in to AdMob platform → App Management → Create Ad Unit
  • Facebook Audience Network: Log in to Facebook Developer platform → App Management → Create Ad Placement
  • Unity Ads: Log in to Unity Developer platform → Project Management → Create Ad Placement
  • IronSource: Log in to IronSource platform → App Management → Create Ad Placement
  • AppLovin: Log in to AppLovin platform → App Management → Create Ad Placement

2. Configure in UJU Backend

Log in to UJU developer backend, configure overseas ad network ad unit IDs in app settings:

  1. Enter App Management → Select App
  2. Click "Third-party Ad Networks" option
  3. Fill in App ID and ad unit ID for each ad network
  4. Save configuration

Ad Loading and Display

1. Configure Ad Source Priority

Configure ad source priority in UJU backend to determine the order of ad requests:

  • Waterfall mode: Request ads in priority order until an ad is obtained
  • Real-time bidding: Select the optimal ad based on estimated revenue in real-time

2. Load Ads

Use UJU SDK's standard API to load ads, the SDK will automatically handle overseas ad network requests:

java
// Load rewarded video ad
RewardedVideoAdConfig config = new RewardedVideoAdConfig.Builder()
    .setAdUnitId("YOUR_REWARDED_VIDEO_AD_UNIT_ID")
    .setUserId("USER_ID")
    .build();

RewardedVideoAd rewardedVideoAd = new RewardedVideoAd(this, config);
rewardedVideoAd.setAdListener(new RewardedVideoAdListener() {
    // Callback methods
});

rewardedVideoAd.loadAd();

Debugging and Testing

1. Test Mode

Enable test mode for each ad network during development:

java
// Enable AdMob test mode
MobileAds.setRequestConfiguration(
    new RequestConfiguration.Builder()
        .setTestDeviceIds(Arrays.asList("YOUR_TEST_DEVICE_ID"))
        .build()
);

// Enable Facebook Audience Network test mode
AudienceNetworkAds.isTestMode(true);

// Enable Unity Ads test mode
UnityAds.setTestMode(true);

2. Test Ad Units

Use test ad unit IDs provided by each ad network for testing:

  • AdMob: Use test ad unit IDs provided by the platform
  • Facebook Audience Network: Use test ad placement IDs provided by the platform
  • Unity Ads: Use test ad placement IDs provided by the platform

Common Questions

Q: What to do if overseas ad network initialization fails?

A: Possible reasons:

  • Incorrect App ID
  • Network connection issues (VPN may be required)
  • Incompatible SDK versions
  • Permission configuration issues
  • Regional restrictions

Q: Why aren't overseas ads displaying?

A: Possible reasons:

  • Incorrect ad unit ID
  • Insufficient ad inventory
  • Regional restrictions
  • Test device not added
  • Ad network configuration errors

Q: How to improve overseas ad fill rate?

A: Recommendations:

  • Integrate multiple ad networks
  • Reasonably configure ad source priority
  • Optimize ad loading strategy
  • Ensure app complies with platform policies
  • Increase app user activity

Best Practices

  1. Multi-network integration: Integrate multiple ad networks to improve fill rate
  2. Regional optimization: Configure different ad network priorities based on user regions
  3. Compliance: Ensure app complies with each ad network's policy requirements
  4. Test optimization: Fully test the performance of each ad network
  5. Data analysis: Analyze revenue data of each ad network and continuously optimize
  6. Timely updates: Update SDK versions of each ad network in a timely manner