Android Domestic Third-party Ad Networks
Overview
UJU SDK supports hot-plugging mode integration of third-party ad networks. We provide adapters for each ad network, and developers can choose to integrate them as needed. This document will detail how to integrate domestic third-party ad networks.
Supported Domestic Ad Networks
| Ad Network | Version | Adapter | Official Documentation |
|---|---|---|---|
| Pangle | 7.4.1.4 | uju-csj-adapter-7.4.1.4.aar | Pangle Official Documentation |
| Tencent Youlianghui | 4.671.1541 | uju-ylh-adapter-4.671.1541.aar | Youlianghui Official Documentation |
| Baidu Alliance | 9.43.2 | uju-bd-adapter-9.43.2.aar | Baidu Alliance Official Documentation |
| Kuaishou Alliance | 4.11.30.1 | uju-ks-adapter-4.11.30.1.aar | Kuaishou Alliance Official Documentation |
Integration Steps
1. Dependency Management
UJU SDK supports two dependency management methods:
Method 1: Automatic Dependency (Recommended)
Add repositories and dependencies to your project's build.gradle file:
dependencies {
// UJU core SDK
implementation("com.ujusdk:uju-ad-sdk:3.1.10")
// csj adapter
implementation("com.ujusdk:uju-csj-adapter:7.4.1.4")
// Third-party ad platform SDK
implementation("com.pangle_beta.cn:mediation-sdk:7.4.1.4")
// ks adapter
implementation("com.ujusdk:uju-ks-adapter:4.11.30.1")
// Third-party ad platform SDK
// Kuaishou SDK currently only supports local aar import, please put the file into libs directory
implementation(files("libs/kssdk_4.11.30.1.aar"))
// bd adapter
implementation("com.ujusdk:uju-bd-adapter:9.43.2")
// Third-party ad platform SDK
implementation("com.baidu:mobads:9.43.2")
// ylh adapter
implementation("com.ujusdk:uju-ylh-adapter:4.671.1541")
// Third-party ad platform SDK
implementation("com.qq.e.union:union:4.671.1541")
}Method 2: Manual Dependency
- Download the complete SDK package from UJU developer backend
- Copy the downloaded
AdNetworksfolder toapp/libsdirectory - Add dependencies in
build.gradlefile:
dependencies {
implementation fileTree(include: ['*.jar', '*.aar'], dir: 'libs/AdNetworks')
}Pangle Integration
1. Permission Configuration
Add necessary permissions to AndroidManifest.xml file:
<!-- Required permissions -->
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<!-- Optional permissions -->
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />2. Configuration Information
Add configuration to AndroidManifest.xml file:
<meta-data
android:name="com.bytedance.sdk.applog.AppID"
android:value="YOUR_PANGOLIN_APP_ID" />3. Notes
- Pangle SDK after version 3.9.0.0 only supports arm64-v8a and armeabi-v7a architectures by default, no longer supports armeabi
- Please ensure that Pangle's App ID and ad unit ID are correctly configured in UJU backend
- If using maven import, you need to add Pangle library in root directory build.gradle.kt: maven { url = uri("https://artifact.bytedance.com/repository/pangle") }
Tencent Youlianghui Integration
1. Permission Configuration
Add necessary permissions to AndroidManifest.xml file:
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />2. Provider Configuration
Add FileProvider configuration to AndroidManifest.xml file:
<provider
android:name="com.qq.e.comm.GDTFileProvider"
android:authorities="${applicationId}.gdt.fileprovider"
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/gdt_file_path" />
</provider>3. Create gdt_file_path.xml
Create gdt_file_path.xml file in res/xml directory:
<?xml version="1.0" encoding="utf-8"?>
<paths>
<!-- This download path cannot be modified, must be com_qq_e_download -->
<external-cache-path name="gdt_sdk_download_path1" path="com_qq_e_download" />
<cache-path name="gdt_sdk_download_path2" path="com_qq_e_download" />
</paths>Baidu Alliance Integration
1. Permission Configuration
Add necessary permissions to AndroidManifest.xml file:
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />2. Configuration Information
Add configuration to AndroidManifest.xml file:
<meta-data
android:name="BaiduMobAds_APP_ID"
android:value="YOUR_BAIDU_APP_ID" />Kuaishou Alliance Integration
1. Permission Configuration
Add necessary permissions to AndroidManifest.xml file:
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />2. Configuration Information
Add configuration to AndroidManifest.xml file:
<meta-data
android:name="com.kwai.ads.APPID"
android:value="YOUR_KUAISHOU_APP_ID" />Initialization Configuration
1. Configuration Method
UJU SDK adopts hot-plugging mode, developers do not need to manually initialize third-party ad networks, just configure in UJU backend.
2. Backend Configuration Steps
- Log in to UJU developer backend
- Enter App Management → Select App
- Click "Third-party Ad Networks" option
- Select "Domestic Ad Networks" tab
- Fill in App ID and ad unit ID for each ad network
- Set ad source priority
- Save configuration
Version Description
- The first part of the adapter version number indicates the adapted ad network version, the second part indicates the UJU SDK version
- For example:
ujusdk-csj-adapter-6.3.1.7-3.0.1.aarmeans adapted based on Pangle 6.3.1.7 version, suitable for UJU SDK 3.0.1 version - When integrating, please ensure to use adapters that match the UJU SDK version
Common Questions
Q: What to do if third-party ad network initialization fails?
A: Possible reasons:
- Incorrect App ID
- Network connection issues
- Incomplete permission configuration
- Adapter version does not match SDK version
Q: What to do if ads are not displaying?
A: Possible reasons:
- Incorrect ad unit ID
- Insufficient ad inventory
- Test device not added to test whitelist
- Unreasonable ad source priority configuration
Q: How to improve ad fill rate?
A: Recommendations:
- Integrate multiple ad networks
- Reasonably configure ad source priority
- Optimize ad placement design
- Improve application user activity
Best Practices
- Multi-network integration: Integrate multiple ad networks to improve fill rate and revenue
- Reasonable configuration: Configure ad source priority according to application characteristics and user groups
- Regular updates: Update ad networks and adapter versions in a timely manner to get the latest features and optimizations
- Adequate testing: Fully test the performance of each ad network before official release
- Data analysis: Analyze revenue data of each ad network and continuously optimize configuration
