Skip to content

Android Preparation

Development Environment Requirements

  • Android Studio: Latest version recommended
  • Android SDK: Android 8.0 (API Level 26) or higher
  • Java: Java 8 or higher
  • Kotlin: Kotlin 1.8 or higher
  • Gradle: 8.0 +

Project Configuration

1. Add Dependencies

Add UJU Ad SDK dependencies to your app-level build.gradle file:

  1. Add Dependencies

    Method 1: Gradle Remote Dependency (Recommended)

    gradle
    // Add dependencies to your app-level build.gradle
    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: Local AAR File Import Go to Console to Download

    gradle
    // Add local dependencies to your app-level build.gradle
    dependencies {
        // Core
        implementation files("libs/uju-ad-sdk-3.1.10.aar")
        // Add required third-party platform adapter AARs and SDKs
        // Pangle
        implementation files("libs/csj/uju-csj-adapter-7.4.1.4.aar")
        implementation files("libs/csj/mediation-sdk-7.4.1.4.aar")
        // Kuaishou
        implementation files("libs/ks/uju-ks-adapter-4.11.30.1.aar")
        implementation files("libs/ks/kssdk_4.11.30.1.aar")
        // Baidu
        implementation files("libs/bd/uju-bd-adapter-9.43.2.aar")
        implementation files("libs/bd/medmobads-9.43.2.aar")
        // Youlianghui
        implementation files("libs/ylh/uju-ylh-adapter-4.671.1541.aar")
        implementation files("libs/ylh/union-4.671.1541.aar")
    }

    If you choose multiple platforms, you can also use recursive import

    gradle
    // Add local dependencies to your app-level build.gradle
    dependencies {
         implementation fileTree(dir: 'libs', include: ['**/*.aar'])
    }

2. Configure Permissions

Add necessary permissions to your AndroidManifest.xml file:

xml
<!-- Basic network 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.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />

3. ProGuard Configuration

gradle
# Gromore aggregation obfuscation
-keep class bykvm*.**
-keep class com.bytedance.msdk.adapter.**{ public *; }
-keep class com.bytedance.msdk.api.** {
 public *;
}

# baidu sdk - can be omitted if not integrating baidu sdk
-ignorewarnings
-dontwarn com.baidu.mobads.sdk.api.**
-keepclassmembers class * extends android.app.Activity {
   public void *(android.view.View);
}

-keepclassmembers enum * {
    public static **[] values();
    public static ** valueOf(java.lang.String);
}

-keep class com.baidu.mobads.** { *; }
-keep class com.style.widget.** {*;}
-keep class com.component.** {*;}
-keep class com.baidu.ad.magic.flute.** {*;}
-keep class com.baidu.mobstat.forbes.** {*;}

# ks - can be omitted if not integrating ks sdk
-keep class org.chromium.** {*;}
-keep class org.chromium.** { *; }
-keep class aegon.chrome.** { *; }
-keep class com.kwai.**{ *; }
-dontwarn com.kwai.**
-dontwarn com.kwad.**
-dontwarn com.ksad.**
-dontwarn aegon.chrome.**

4. Third-party Ad Network Special Permissions and Obfuscation Configuration

Developers can choose third-party ad networks as needed, and must pay attention to the special instructions of third-party ad networks:

Third-party ad networks China Overseas

Next Steps

After completing the preparation work, you can proceed with: