Skip to content

Android 准备工作

开发环境要求

  • Android Studio:推荐使用最新版本
  • Android SDK:Android 8.0(API Level 26)或更高版本
  • Java:Java 11 或更高版本
  • Kotlin:Kotlin 1.8 或更高版本
  • Gradle:推荐8.0 +

项目配置

1. 添加依赖

在您的应用级 build.gradle 文件中添加优聚智汇广告 SDK 依赖:

  1. 添加依赖

    方式一:Gradle远程依赖(推荐)

    gradle
    
    //在项目的 `build.gradle` 文件中添加仓库
    repositories {
     maven { url = uri("https://maven.aliyun.com/repository/google") }
         maven { url = uri("https://maven.aliyun.com/repository/central") }
         // 穿山甲广告仓库
         maven { url = uri("https://artifact.bytedance.com/repository/pangle") }
         // 华为官方广告标识服务SDK
         maven { url = uri("https://developer.huawei.com/repo") }
         // 荣耀官方广告标识服务SDK
         maven { url = uri("https://developer.hihonor.com/repo") }
         google()
         gradlePluginPortal()
         mavenCentral()
    }
    gradle
    // 在应用级build.gradle中添加依赖
    dependencies {
        // 优聚智汇核心 SDK
        implementation "com.ujusdk:uju-ad-sdk:3.1.15"
    
       // 华为、荣耀获取OAID,可有效提高Ecpm,建议引入
       implementation("com.huawei.hms:ads-identifier:3.4.62.300")
       implementation("com.hihonor.mcs:ads-identifier:1.0.2.301")
    
        // 穿山甲适配器
        implementation("com.ujusdk:uju-csj-adapter:7.4.1.5")
        // 腾讯优量汇适配器
        implementation("com.ujusdk:uju-ylh-adapter:4.671.1542")
        // 百度联盟适配器
        implementation("com.ujusdk:uju-bd-adapter:9.43.3")
        // 快手适配器
        implementation("com.ujusdk:uju-ks-adapter:4.11.30.3")
    
        // 引入对应版本穿山甲SDK
        implementation("com.pangle_beta.cn:mediation-sdk:7.4.1.4")
        // 引入对应版本腾讯优量汇SDK
        implementation("com.qq.e.union:union:4.671.1541")
        // 引入对应版本百度联盟SDK
        implementation("com.ujusdk:uju-bd-adapter:9.43.2")
        // 引入对应版本快手联盟SDK(注意,快手只能本地aar包方式引入)
    
    }

    方式二:本地AAR文件引入点击下载

    gradle
    // 在应用级build.gradle中添加本地依赖
    dependencies {
        // 核心 + 多个适配器
        implementation files("libs/uju-ad-sdk-version.aar")
        // 添加需要的第三方平台适配器aar
        implementation files("libs/uju-csj-adapter-version.aar")
        implementation files("libs/uju-ylh-adapter-version.aar")
        implementation files("libs/uju-bd-adapter-version.aar")
        implementation files("libs/uju-ks-adapter-version.aar")
        // 引入对应版本穿山甲SDK
        implementation("com.pangle_beta.cn:mediation-sdk:version")
        // 引入对应版本腾讯优量汇SDK
        implementation("com.qq.e.union:union:version")
        // 引入对应版本百度联盟SDK
        implementation("com.ujusdk:uju-bd-adapter:version")
        // 引入对应版本快手联盟SDK(注意,快手只能本地aar包方式引入)
    }

2. 配置权限

AndroidManifest.xml 文件中添加必要的权限:

xml
<!-- 基本网络权限 -->
<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" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />

3. 混淆配置

gradle
# OAID相关混淆
-keep class repeackage.com.uodis.opendevice.aidl.** { *; }
-keep interface repeackage.com.uodis.opendevice.aidl.** { *; }
-keep class repeackage.com.asus.msa.SupplementaryDID.** { *; }
-keep interface repeackage.com.asus.msa.SupplementaryDID.** { *; }
-keep class repeackage.com.bun.lib.** { *; }
-keep interface repeackage.com.bun.lib.** { *; }
-keep class repeackage.com.heytap.openid.** { *; }
-keep interface repeackage.com.heytap.openid.** { *; }
-keep class repeackage.com.samsung.android.deviceidservice.** { *; }
-keep interface repeackage.com.samsung.android.deviceidservice.** { *; }
-keep class repeackage.com.zui.deviceidservice.** { *; }
-keep interface repeackage.com.zui.deviceidservice.** { *; }
-keep class repeackage.com.coolpad.deviceidsupport.** { *; }
-keep interface repeackage.com.coolpad.deviceidsupport.** { *; }
-keep class repeackage.com.android.creator.** { *; }
-keep interface repeackage.com.android.creator.** { *; }
-keep class repeackage.com.google.android.gms.ads.identifier.internal.** { *; }
-keep interface repeackage.com.google.android.gms.ads.identifier.internal.* { *; }
-keep class repeackage.com.oplus.stdid.** {*; }
-keep interface repeackage.com.oplus.stdid.** {*; }
-keep class com.huawei.hms.ads.** {*; }
-keep interface com.huawei.hms.ads.** {*; }
-keep class com.hihonor.ads.** {*; }
-keep interface com.hihonor.ads.** {*; }
-keep class repeackage.com.qiku.id.** { *; }
-keep interface repeackage.com.qiku.id.** { *; }

# Gromore聚合混淆,不接入gromore可以不引入
-keep class bykvm*.**
-keep class com.bytedance.msdk.adapter.**{ public *; }
-keep class com.bytedance.msdk.api.** {
 public *;
}

# baidu sdk 不接入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  不接入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. 第三方广告网络特殊权限、混淆配置

开发者按需选择第三方广告网络,而且必须要关注第三方广告网络的特殊说明:

第三方广告网络快捷入口:

下一步

完成准备工作后,您可以继续进行: