Skip to content

第三方广告网络配置说明

ToBid做为聚合SDK支持热插拔模式。我们为每个广告网络提供了一个aar文件的适配器,相应的适配器版本号,以及各广告网络的配置说明详见下文。

注意:适配器上的版本号仅代表改适配器是基于ADN网络的哪个版本做的适配、对接ToBid的时候依然** 需要全部替换ZIP包内的aar**。

1.第三方广告网络支持列表

广告网络Version适配器第三方文档对接地址
腾讯优量汇4.591.1461windmill-gdt-adapter-4.591.1461-4.0.0.aarhttps://developers.adnet.qq.com/doc/android/access_doc
穿山甲6.3.1.7windmill-csj-adapter-6.3.1.7-4.0.0.aarhttps://www.csjplatform.com/union/media/union/download/detail?id=4&osType=android&locale=zh-CN&backPath=/union/media/union/download/pangle
Gromore6.3.1.7windmill-gromore-adapter-6.3.1.7-4.0.0.aarhttps://www.csjplatform.com/union/media/union/download/detail?id=142&osType=android&locale=zh-CN&backPath=/union/media/union/download/groMore
快手广告3.3.67windmill-kuaishou-adapter-3.3.67-4.0.0.aarhttps://u.kuaishou.com/?redirectUrl=%2Faccess
百度9.36windmill-baidu-adapter-9.36-4.0.0.aarhttps://union.baidu.com/miniappblog/sdk/AndroidSDK.html
Mintegral_cn16.8.11windmill-mintegral-cn-adapter-16.8.11-4.0.0.aarhttps://dev.mintegral.com/doc/index.html?file=sdk-m_sdk-android&lang=en
AdScope4.90.4.24windmill-adscope-adapter-4.90.4.24-4.0.0.aarhttp://sdkdoc.beizi.biz/#/zh-cn/android/4xx/Configuration/SDK
趣盟3.466.10.432windmill-qumeng-adapter-3.466.10.432-4.0.0.aarhttps://docs.jietuhb.com/android_sdk/qumeng.html
TapTap3.16.3.31windmill-taptap-adapter-3.16.3.31-4.0.0.aarhttps://developer.taptap.cn/docs/sdk/tap-adn/tds-tapad/
OppoAdn6.9.1windmill-oppo-adapter-6.9.1-4.0.0.aarhttps://u.oppomobile.com/main/index.html#/main/download
MeiShu2.2.4.5windmill-meishu-adapter-2.2.4.5.aarhttps://admate.yuque.com/se0re5/wxrb2m/xm7t2gx3ar5e66xz
HuaWei13.4.73.301windmill-huawei-adapter-13.4.73.301-4.0.0.aarhttps://developer.huawei.com/consumer/cn/doc/HMSCore-Guides/pps-commissioning-guide-0000001111513478#section59441812586
Honor1.0.22.300windmill-honor-adapter-1.0.22.300-4.0.0.aarhttps://developer.honor.com/cn/docs/20030/guides/getting-started
SigMob4.19.4没有适配器、已自动合并到windmill-sdk-xxx.aar里面https://doc.sigmob.com/Sigmob使用指南/SDK集成说明/Android/SDK接入配置/
Billowlink1.1.0windmill-billowlink-adapter-1.1.0-4.0.0.aarhttps://dspstatic.billowlink.com/docs/AndroidDeveloperDoc.html
VivoAdn6.1.7.2windmill-vivo-adapter-6.1.7.2-4.0.0.aar
Bayes4.4.1windmill-bayes-adapter-4.4.1-4.4.0.aarhttps://www.bayescom.com/docsify/docs/#/bayescom/sdk/Android?id=_11-术语介绍
Octopus1.6.2.5windmill-octopus-adapter-1.6.2.5-4.4.0.aarhttps://gitee.com/zy_octopus/octopus-android-sdk#octopus-sdk-android接入文档

2. 仅中国大陆地区支持的广告网络

手工适配器依赖管理:需要将AdNetworks 拷贝到 app/libs

groovy
dependencies {

    implementation fileTree(include: ['*.jar', '*.aar'], dir: 'libs/AdNetworks')

}

2.1 腾讯广告

  • 更新 AndroidManiftest.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.REQUEST_INSTALL_PACKAGES" />
  • Provider定义
xml

<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>
  • gdt_file_path.xml 内容
xml
<?xml version="1.0" encoding="utf-8"?>
<paths>
    <!-- 这个下载路径也不可以修改,必须为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>
  • Jar包手动依赖
groovy
dependencies {

    //腾讯优量汇
    implementation fileTree(include: ["*.jar", "*.aar"], dir: 'libs/AdNetworks/gdt')

}

2.2 穿山甲

注:穿山甲SDK自3.9.0.0版本后,默认仅支持arm64-v8a和armeabi-v7a两种架构,不再支持armeabi

  • 更新 AndroidManiftest.xml
xml
<!--必要权限-->
<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.WRITE_EXTERNAL_STORAGE" tools:node="replace" /><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" /><uses-permission
android:name="android.permission.GET_TASKS" />

    <!--可选,穿山甲提供“获取地理位置权限”和“不给予地理位置权限,开发者传入地理位置参数”两种方式上报用户位置,两种方式均可不选,添加位置权限或参数将帮助投放定位广告-->
    <!--请注意:无论通过何种方式提供给穿山甲用户地理位置,均需向用户声明地理位置权限将应用于穿山甲广告投放,穿山甲不强制获取地理位置信息-->
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

    <!-- 如果有视频相关的广告且使用textureView播放,请务必添加,否则黑屏 -->
<uses-permission android:name="android.permission.WAKE_LOCK" />

    <!-- 穿山甲3400版本新增:建议添加“query_all_package”权限,穿山甲将通过此权限在Android R系统上判定广告对应的应用是否在用户的app上安装,避免投放错误的广告,以此提高用户的广告体验。若添加此权限,需要在您的用户隐私文档中声明! -->
<uses-permission android:name="android.permission.QUERY_ALL_PACKAGES" />
  • Provider定义
xml

<provider android:name="com.bytedance.sdk.openadsdk.TTFileProvider"
    android:authorities="${applicationId}.TTFileProvider" android:exported="false"
    android:grantUriPermissions="true">
    <meta-data android:name="android.support.FILE_PROVIDER_PATHS"
        android:resource="@xml/file_paths" />
</provider>

<provider android:name="com.bytedance.sdk.openadsdk.multipro.TTMultiProvider"
android:authorities="${applicationId}.TTMultiProvider" android:exported="false" />
  • file_paths.xml 内容
xml
<?xml version="1.0" encoding="utf-8"?>
<paths xmlns:android="http://schemas.android.com/apk/res/android">
    <!--为了适配所有路径可以设置 path = "." -->
    <external-path name="tt_external_root" path="." />
    <external-path name="tt_external_download" path="Download" />
    <external-files-path name="tt_external_files_download" path="Download" />
    <files-path name="tt_internal_file_download" path="Download" />
    <cache-path name="tt_internal_cache_download" path="Download" />
</paths>
  • Jar包手动依赖
groovy
dependencies {
    //穿山甲
    implementation fileTree(include: ["*.jar", "*.aar"], dir: 'libs/AdNetworks/csj')
}

2.3 Gromore

注:AndroidManiftest.xml及Provider配置同穿山甲

  • Jar包手动依赖
groovy
dependencies {
    //Gromore
    implementation fileTree(include: ["*.jar", "*.aar"], dir: 'libs/AdNetworks/gromore')
}

2.4 快手广告

注:快手SDK自3.3.17版本后,仅支持arm64-v8a和armeabi-v7a两种架构,不再支持armeabi

  • 更新 AndroidManiftest.xml
xml

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /><uses-permission
android:name="android.permission.INTERNET" /><uses-permission
android:name="android.permission.READ_PHONE_STATE" /><uses-permission
android:name="android.permission.READ_EXTERNAL_STORAGE" /><uses-permission
android:name="android.permission.WRITE_EXTERNAL_STORAGE" /><uses-permission
android:name="android.permission.ACCESS_WIFI_STATE" /><uses-permission
android:name="android.permission.REQUEST_INSTALL_PACKAGES" /><uses-permission
android:name="android.permission.ACCESS_COARSE_LOCATION" /><uses-permission
android:name="android.permission.ACCESS_FINE_LOCATION" /><!--SDK内⾃定义的权限,与下载相关,aar中已经申请-->
<permission android:name="${applicationId}.permission.KW_SDK_BROADCAST"
android:protectionLevel="signature" /><uses-permission
android:name="${applicationId}.permission.KW_SDK_BROADCAST" />
  • 如果您的应⽤启⽤了资源混淆或资源缩减,您需要保留SDK的资源,SDK的资源名都是以ksad_开头的。您可以在资源混淆配置⽂件添加如下配置:
xml
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:tools="http://schemas.android.com/tools" tools:keep="@layout/ksad_*,@id/ksad_*,@style/ksad_*,
  @drawable/ksad_*,@string/ksad_*,@color/ksad_*,@attr/ksad_*,@dimen/ksad_*" />
  • Jar包手动依赖
groovy
dependencies {

    //建议使⽤的26以上的support库版本,建议使⽤28最新的即可。
    implementation "com.android.support:appcompat-v7:28.0.0"
    implementation "com.android.support:recyclerview-v7:28.0.0"
    // AndroidX依赖和上面Supprot库依赖,二选一
    implementation "androidx.appcompat:appcompat:$version"
    implementation "androidx.recyclerview:recyclerview:$version"

    // 快⼿SDK aar包,请将提供的aar包拷⻉到libs⽬录下,添加依赖。根据接⼊版本修改SDK包名
    implementation fileTree(include: ["*.jar", "*.aar"], dir: 'libs/AdNetworks/kuaishou')
}
  • 混淆配置
java
-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.**

2.5 百度广告

  • 更新 AndroidManiftest.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_COARSE_LOCATION" /><uses-permission
android:name="android.permissio.WRITE_EXTERNAL_STORAGE" />

<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />

<uses-permission android:name="android.permission.QUERY_ALL_PACKAGES"
tools:ignore="QueryAllPackagesPermission" />
  • Jar包手动依赖
groovy
dependencies {

    //建议使⽤的26以上的support库版本,建议使⽤28最新的即可。
    implementation "com.android.support:appcompat-v7:28.0.0"
    implementation "com.android.support:recyclerview-v7:28.0.0"
    // AndroidX依赖和上面Supprot库依赖,二选一
    implementation "androidx.appcompat:appcompat:$version"
    implementation "androidx.recyclerview:recyclerview:$version"

    // 百度SDK aar包,请将提供的aar包拷⻉到libs⽬录下,添加依赖。根据接⼊版本修改SDK包名
    implementation fileTree(include: ["*.jar", "*.aar"], dir: 'libs/AdNetworks/baidu')
}
  • 混淆配置
java
-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.** {*;}

2.6 Mintegral_cn

  • 更新 AndroidManiftest.xml
xml

<uses-permission android:name="android.permission.INTERNET" /><uses-permission
android:name="android.permission.ACCESS_NETWORK_STATE" /><!-- 如果中国大陆流量版本SDK ,以下两条权限必须加上 -->
<uses-permission android:name="android.permission.READ_PHONE_STATE" /><uses-permission
android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
  • Provider定义
xml

<provider android:name="com.mbridge.msdk.foundation.tools.MBFileProvider"
    android:authorities="${applicationId}.mbFileProvider" android:exported="false"
    android:grantUriPermissions="true">
    <meta-data android:name="android.support.FILE_PROVIDER_PATHS"
        android:resource="@xml/mb_provider_paths" />
</provider>
  • mb_provider_paths.xml 内容
xml
<?xml version="1.0" encoding="utf-8"?>
<paths xmlns:android="http://schemas.android.com/apk/res/android">
    <external-path name="external_files" path="." />
</paths>
  • Mintegral Maven自动依赖
groovy
dependencies {
    //mintegral provider 依赖androidx
    implementation 'androidx.legacy:legacy-support-v4:1.0.0'

    //mintegral
    implementation fileTree(include: ["*.jar", "*.aar"], dir: 'libs/AdNetworks/mintegral-cn')
}
  • Mintegral 混淆配置
java
-keepattributes Signature
-keepattributes *Annotation*
-keep class com.mbridge.** {*; }
-keep interface com.mbridge.** {*; }
-keep interface androidx.** { *; }
-keep class androidx.** { *; }
-keep public class * extends androidx.** { *; }
-dontwarn com.mbridge.**
-keep class **.R$* { public static final int mbridge*; }

2.7 AdScope

注:媒体如果使用移动安全联盟提供的获取oaid的sdk版本不是1.0.25、AdScope则需要在Sdk初始化之前请调用如下方法: WindMillAd.sharedAds().setOaidVersion("x.x.x");

  • 更新 AndroidManiftest.xml
xml
<!--必要权限-->
<!--⽹络访问权限-->
<uses-permission android:name="android.permission.INTERNET" /><!--访问⽹络状态:检测当前⽹络状态是2G、3G、4G还是WiFi-->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /><!--磁盘读写权限-->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /><uses-permission
android:name="android.permission.READ_EXTERNAL_STORAGE" /><!--应⽤安装权限-->
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
  • 因SDK内部采用http协议。如果App的targetSdkVersion>=28,需要在AndroidManifest.xml 添加依赖声明:
xml

<application

    android:networkSecurityConfig="@xml/network_security_config">

</application>
  • network_security_config.xml 内容
xml

<network-security-config>

    <base-config cleartextTrafficPermitted="true">
        <trust-anchors>
            <certificates src="system" />
            <certificates src="user" />
        </trust-anchors>
    </base-config>

    <domain-config>
        <domain includeSubdomains="true">i.snssdk.com</domain>
        <domain includeSubdomains="true">is.snssdk.com</domain>
        <domain includeSubdomains="true">pangolin.snssdk.com</domain>
        <domain includeSubdomains="true">extlog.snssdk.com</domain>
        <domain includeSubdomains="true">sf3-ttcdn-tos.pstatp.com</domain>
        <domain includeSubdomains="true">bds.snssdk.com</domain>
        <domain includeSubdomains="true">dig.bdurl.net</domain>
    </domain-config>

</network-security-config>
  • Jar包手动依赖
groovy
dependencies {
    //AdScope
    implementation fileTree(include: ['*.jar', '*.aar'], dir: 'libs/AdNetworks/adscope')
}
  • 混淆配置
java
# 倍孜混淆
-dontwarn com.beizi.fusion.**
-dontwarn com.beizi.ad.**
-keep class com.beizi.fusion.** {*; }
-keep class com.beizi.ad.** {*; }

2.8 趣盟

  • 更新 AndroidManiftest.xml
xml
<!-- 广告SDK已添加的权限 -->
<uses-permission android:name="android.permission.READ_PHONE_STATE" /><uses-permission
android:name="android.permission.ACCESS_NETWORK_STATE" /><uses-permission
android:name="android.permission.INTERNET" /><uses-permission
android:name="android.permission.READ_EXTERNAL_STORAGE" /><uses-permission
android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
  • Jar包手动依赖
groovy
dependencies {
    //QuMeng
    implementation fileTree(include: ['*.jar', '*.aar'], dir: 'libs/AdNetworks/qumeng')
}

2.9 TapTap

  • 更新 AndroidManiftest.xml
xml
<!-- 广告SDK已添加的权限 -->
<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.QUERY_ALL_PACKAGES" /><uses-permission
android:name="android.permission.REQUEST_INSTALL_PACKAGES" />

    <!-- 为了获取更精准的推送数据、建议游戏加上的权限 -->
<uses-permission
android:name="android.permission.BLUETOOTH" /><!-- targetVersion 31 及以上 建议游戏加上这个权限 -->
<uses-permission
android:name="android.permission.BLUETOOTH_CONNECT" /><!-- 为了获取更好的广告体验,建议游戏加上以下权限来获取用户信息 -->
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /><uses-permission
android:name="android.permission.ACCESS_COARSE_LOCATION" /><!-- 加上下列权限可以提高广告的转化率 -->
<uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
  • Jar包手动依赖
groovy
dependencies {
    //TapTap
    implementation fileTree(include: ['*.jar', '*.aar'], dir: 'libs/AdNetworks/taptap')
    implementation "com.github.bumptech.glide:glide:4.9.0"
    implementation 'io.reactivex.rxjava2:rxandroid:2.0.1'
    implementation 'io.reactivex.rxjava2:rxjava:2.0.1'
    implementation 'com.squareup.okhttp3:okhttp:3.12.1'
    implementation "com.android.support:appcompat-v7:28.0.0"
    implementation "com.android.support:support-annotations:28.0.0"
    implementation "com.android.support:support-v4:28.0.0"
    implementation 'com.android.support:recyclerview-v7:28.0.0'
}
  • 混淆配置
java
# TapTap混淆
-dontwarn com.tapsdk.**
-dontwarn com.tapadn.**
-keep class com.tapsdk.** {*; }
-keep class com.tapadn.** {*; }

2.10 OppoAdn

1、默认仅支持arm64-v8a和armeabi-v7a两种架构 2、与开屏聚合冲突(load成功后立马show,无法控制),开屏瀑布流只能配置此渠道 3、展示Oppo开屏的广告Acitivty要用全屏主题

  • 更新 AndroidManiftest.xml
xml
<!--SDK 可选权限配置开始;建议应用配置定位权限,可以提升应用的广告收益-->
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /><!--如果应用需要精准定位的话加上该权限-->
<uses-permission
android:name="android.permission.ACCESS_FINE_LOCATION" /><!--Android Q 上如果应用需要精准定位的话加上该权限-->
<uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" /><!--SDK 可选权限配置结束-->

    <!--适配android Q,支持sdCard存储-->
    <!--如果targetSdk >= androidP 需要配置android:usesCleartextTraffic="true"-->
<application android:usesCleartextTraffic="true" android:requestLegacyExternalStorage="true">

</application>
  • Jar包手动依赖
groovy
dependencies {

    implementation 'androidx.appcompat:appcompat:1.0.2'
    implementation 'androidx.legacy:legacy-support-v4:1.0.0'
    implementation 'androidx.multidex:multidex:2.0.0'

    implementation 'com.squareup.okio:okio:2.5.0'
    implementation 'org.jetbrains.kotlin:kotlin-android-extensions-runtime:1.3.72'
    implementation 'android.arch.persistence:db-framework:1.1.1'//410版本新增
    implementation 'androidx.palette:palette:1.0.0'//490版本新增

    // OppoSDK aar包,请将提供的aar包拷⻉到libs⽬录下,添加依赖。根据接⼊版本修改SDK包名
    implementation fileTree(include: ["*.jar", "*.aar"], dir: 'libs/AdNetworks/oppoadn')
}
  • 混淆配置
java
-keep class com.opos.** { *;}
-keep class com.heytap.** { *;}
-keep class com.heytap.msp.mobad.** { *;}
-keep class com.heytap.openid.** {*;}

-keep class okio.**{ *; }

-keeppackagenames com.heytap.nearx.tapplugin

2.11 美数广告

  • 更新 AndroidManiftest.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.CHANGE_WIFI_STATE" /><uses-permission
android:name="android.permission.READ_PHONE_STATE" /><uses-permission
android:name="android.permission.WRITE_EXTERNAL_STORAGE" /><uses-permission
android:name="android.permission.READ_EXTERNAL_STORAGE" /><uses-permission
android:name="android.permission.SYSTEM_ALERT_WINDOW" /><uses-permission
android:name="android.permission.REQUEST_INSTALL_PACKAGES" /><uses-permission
android:name="android.permission.WAKE_LOCK" /><!--可选 建议应用配置定位权限,可以提升应用的广告收益-->
<uses-permission
android:name="android.permission.ACCESS_COARSE_LOCATION" /><!--可选 如果应用需要精准定位的话加上该权限-->
<uses-permission
android:name="android.permission.ACCESS_FINE_LOCATION" /><!--可选 Android Q 上如果应用需要精准定位的话加上该权限-->
<uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" />
  • Jar包手动依赖
groovy
dependencies {

    //美数
    implementation fileTree(include: ["*.jar", "*.aar"], dir: 'libs/AdNetworks/meishu')

    implementation 'com.squareup.okhttp3:okhttp:3.12.1'
    implementation 'com.google.code.gson:gson:2.8.5'
    implementation 'com.googlecode.android-query:android-query:0.25.9'
    implementation 'androidx.cardview:cardview:1.0.0'

}
  • 混淆配置
java
# 美数混淆
# GSON
-keepattributes Signature
-keepattributes *Annotation*
-dontwarn sun.misc.**
-keep class com.google.gson.examples.android.model.** { <fields>; }
-keep class * implements com.google.gson.TypeAdapterFactory
-keep class * implements com.google.gson.JsonSerializer
-keep class * implements com.google.gson.JsonDeserializer
-keepclassmembers,allowobfuscation class * {
    @com.google.gson.annotations.SerializedName <fields>;
}
# 美数
# msad
-keep class com.meishu.sdk.** { *; }

2.12 华为广告

与开屏聚合冲突(load成功后立马show,无法控制),开屏瀑布流只能配置此渠道。

  • 更新 AndroidManiftest.xml
xml

<uses-sdk tools:overrideLibrary="com.huawei.openalliance.ad" /><uses-permission
android:name="android.permission.READ_PHONE_STATE" tools:node="replace" />
  • Jar包手动依赖
groovy
dependencies {
    // huawei
    implementation fileTree(include: ["*.jar", "*.aar"], dir: 'libs/AdNetworks/huawei')
}
  • 混淆配置
java
# HuaWei混淆

-keep class com.huawei.openalliance.ad.**{*;}

2.13 荣耀广告

荣耀渠道必须集成oaid的sdk(2.3.0及以上版本),如果不集成需要接入 ads-identifier-1.0.2.301.aar

  • 更新 AndroidManiftest.xml
<uses-permission
        android:name="android.permission.QUERY_ALL_PACKAGES"
        tools:ignore="QueryAllPackagesPermission" />
  • 多进程场景接入注意事项(重要)

媒体存在多进程场景主/多子进程都使用了广告SDK需要在初始化时调用setSupportMultiProcess( true),由于多进程场景大数据SDK上报涉及时涉及使用MMKV,还需要单独依赖MMKV的依赖,以保证埋点准确,否则将可能影响收益数据。

implementation "com.tencent:mmkv:1.2.13"
  • Jar包手动依赖
dependencies {

    //荣耀
    implementation fileTree(include: ["*.jar","*.aar"], dir: 'libs/AdNetworks/honor')
    
    implementation "androidx.constraintlayout:constraintlayout:2.0.4"
    implementation 'com.airbnb.android:lottie:6.0.1'
    implementation 'androidx.cardview:cardview:1.0.0'
    implementation 'androidx.recyclerview:recyclerview:1.2.1'
    implementation 'com.google.android.material:material:1.6.1'//ads-tools需要
    implementation 'com.squareup.okhttp3:okhttp:4.9.1'
    implementation 'com.squareup.okhttp3:logging-interceptor:3.14.9'
    implementation 'com.google.code.gson:gson:2.10.1'
    implementation 'com.squareup.retrofit2:retrofit:2.9.0'
    implementation 'com.squareup.retrofit2:converter-gson:2.9.0'
    implementation 'androidx.lifecycle:lifecycle-livedata:2.2.0'
    implementation 'com.github.bumptech.glide:glide:4.13.2'
    implementation 'com.github.bumptech.glide:compiler:4.13.2'
    implementation 'androidx.room:room-compiler:2.3.0'
    implementation 'androidx.room:room-runtime:2.3.0'
    //由于多进程场景大数据SDK上报涉及时涉及使用MMKV,还需要单独依赖MMKV的依赖
    implementation "com.tencent:mmkv:1.2.13"

 }
  • 混淆配置
# 荣耀混淆
-keep class com.hihonor.ads.** {*; }
-keep class com.hihonor.adsdk.** {*;}

2.14 SigMob广告

  • 如仅支持Android Support V4环境, 请将一下代码添加到AndroidManifest.xml中
xml

<provider android:name="com.sigmob.sdk.SigmobFileV4Provider"
    android:authorities="${applicationId}.sigprovider" android:exported="false"
    android:initOrder="200" android:grantUriPermissions="true">
    <meta-data android:name="android.support.FILE_PROVIDER_PATHS"
        android:resource="@xml/sigmob_provider_paths" />
</provider>

2.15 Billowlink广告

  • Jar包手动依赖
groovy
dependencies {

    implementation 'com.google.android.material:material:1.6.1'//billowlink需要

    // billowlink aar包,请将提供的aar包拷⻉到libs⽬录下,添加依赖。根据接⼊版本修改SDK包名
    implementation fileTree(include: ["*.jar", "*.aar"], dir: 'libs/AdNetworks/billowlink')
}
  • 混淆配置
java
-dontwarn com.billow.**
-keep class com.billow.**{ *;}
-keep interface com.billow.**{ *;}

2.16 VIVO广告

2、要求oaid_sdk_1.0.25.aar

更新 AndroidManiftest.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_COARSE_LOCATION" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
<uses-permission android:name="android.permission.GET_TASKS" />

<!-- 如果有视频相关的广告且使用textureView播放,请务必添加,否则黑屏 -->
<uses-permission android:name="android.permission.WAKE_LOCK" />
  • Jar包手动依赖
groovy
dependencies {
    //vivo
    implementation fileTree(include: ["*.jar","*.aar"], dir: 'libs/AdNetworks/vivo')
   
    implementation "com.android.support:support-v4:28.0.0"
    implementation "com.android.support:recyclerview-v7:28.0.0"
    implementation "com.android.support:appcompat-v7:28.0.0"
}
  • 混淆配置
java
-keepattributes SourceFile,LineNumberTable
-dontwarn com.squareup.okhttp.**
-dontwarn okhttp3.**
-keep class com.vivo.*.** { *; }
-dontwarn com.bytedance.article.common.nativecrash.NativeCrashInit
-keep class com.bytedance.sdk.openadsdk.** {*;}
-keep public interface com.bytedance.sdk.openadsdk.downloadnew.** {*;}
-keep class com.pgl.sys.ces.* {*;}
-keep class com.qq.e.** {
public protected *;
}-keep class android.support.v4.**{
public *;
}-keep class android.support.v7.widget.** {*;}
-dontwarn com.vivo.secboxsdk.**
-keep class com.vivo.secboxsdk.SecBoxCipherException { *; }
-keep class com.vivo.secboxsdk.jni.SecBoxNative { *; }
-keep class com.vivo.secboxsdk.BuildConfig { *; }
-keep class com.kwad.sdk.** { *;}
-keep class com.ksad.download.** { *;}
-keep class com.kwai.filedownloader.** { *;}

2.17 章鱼广告(OCTOPUS)

  • Jar包手动依赖
groovy
dependencies {
    //章鱼
    implementation fileTree(include: ['*.jar', '*.aar'], dir: 'libs/AdNetworks/octopus')
}
  • 混淆配置
groovy
# Octopus混淆
-dontwarn com.octopus.**
-keep class com.octopus.** {*;}

2.18 倍业广告(MERCURY)

  • Jar包手动依赖
groovy
dependencies {
    //倍业
    implementation fileTree(include: ['*.jar', '*.aar'], dir: 'libs/AdNetworks/mercury')
}
  • 混淆配置
groovy
# 倍业混淆
-dontwarn com.mercury.**
-keep class com.mercury.** {*;}