Android 国内第三方广告网络
概述
优聚智汇 SDK 支持热插拔模式集成第三方广告网络。我们为每个广告网络提供了适配器,开发者可以根据需要选择集成。本文档将详细介绍如何集成国内第三方广告网络。
支持的国内广告网络
| 广告网络 | 版本 | 适配器 | 官方文档 |
|---|---|---|---|
| 穿山甲 | 7.5.1.0 | uju-csj-adapter:7.5.1.1 | 穿山甲官方文档 |
| 腾讯优量汇 | 4.680.1550 | uju-ylh-adapter:4.680.1551 | 优量汇官方文档 |
| 百度联盟 | 9.45.0 | uju-bd-adapter:9.45.2 | 百度联盟官方文档 |
| 快手联盟 | 5.3.20.2 | uju-ks-adapter:5.3.20.3 | 快手联盟官方文档 |
| OPPO | 9.4.0 | uju-oppo-adapter:9.4.0 | OPPO 广告文档 |
| VIVO | 6.2.7.4 | uju-vivo-adapter:6.2.7.4 | VIVO 广告文档 |
集成步骤
1. 依赖管理
优聚智汇 SDK 支持两种依赖管理方式:
方式一:自动依赖(推荐)
在项目的 build.gradle.kts 文件中添加仓库和依赖:
repositories {
mavenCentral()
// 优聚智汇仓库
maven {
url = uri("https://maven.ujusdk.com/repository/maven-releases/")
}
// 穿山甲仓库
maven {
url = uri("https://artifact.bytedance.com/repository/pangle")
}
}
dependencies {
// 优聚智汇核心 SDK
implementation("com.ujusdk:uju-ad-core:3.1.49")
// 穿山甲 SDK
implementation("com.pangle_beta.cn:mediation-sdk:7.5.1.0")
// 穿山甲适配器
implementation("com.ujusdk:uju-csj-adapter:7.5.1.1")
// 腾讯优量汇 SDK
implementation("com.qq.e.union:union:4.680.1550")
// 腾讯优量汇适配器
implementation("com.ujusdk:uju-ylh-adapter:4.680.1551")
// 百度联盟 SDK
implementation("com.baidu:mobads:9.45.0")
// 百度联盟适配器
implementation("com.ujusdk:uju-bd-adapter:9.45.2")
// 快手联盟 SDK(手动引入本地 AAR)
implementation(files("libs/kssdklite-ad-5.3.20.2.aar"))
// 快手联盟适配器
implementation("com.ujusdk:uju-ks-adapter:5.3.20.3")
}方式二:本地 AAR 引入
如果无法使用远程 Maven 仓库,可采用本地 AAR 文件方式引入各适配器。具体引入方式请参考 准备工作 - 本地引入。
穿山甲集成
1. 权限配置
在 AndroidManifest.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" />
<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. 配置信息
在 AndroidManifest.xml 文件中添加配置:
<meta-data
android:name="com.bytedance.sdk.applog.AppID"
android:value="YOUR_PANGOLIN_APP_ID" />3. 注意事项
- 穿山甲 SDK 自 3.9.0.0 版本后,默认仅支持 arm64-v8a 和 armeabi-v7a 两种架构,不再支持 armeabi
- 请确保在优聚智汇后台正确配置穿山甲的 App ID 和广告单元 ID
- 使用 Maven 引入时,需要在根目录
build.gradle.kts中添加穿山甲仓库:
maven {
url = uri("https://artifact.bytedance.com/repository/pangle")
}腾讯优量汇集成
1. 权限配置
在 AndroidManifest.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" />2. Provider 配置
在 AndroidManifest.xml 文件中添加 FileProvider 配置:
<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. 创建 gdt_file_path.xml
在 res/xml 目录下创建 gdt_file_path.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>百度联盟集成
1. 权限配置
在 AndroidManifest.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.ACCESS_COARSE_LOCATION" />2. 配置信息
在 AndroidManifest.xml 文件中添加配置:
<meta-data
android:name="BaiduMobAds_APP_ID"
android:value="YOUR_BAIDU_APP_ID" />快手联盟集成
1. 权限配置
在 AndroidManifest.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" />2. 配置信息
在 AndroidManifest.xml 文件中添加配置:
<meta-data
android:name="com.kwai.ads.APPID"
android:value="YOUR_KUAISHOU_APP_ID" />OPPO 集成
1. 权限配置
在 AndroidManifest.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" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />2. 配置信息
在 AndroidManifest.xml 文件中添加 OPPO 广告配置:
<meta-data
android:name="OPPO_APP_ID"
android:value="YOUR_OPPO_APP_ID" />3. 依赖引入
OPPO 适配器需以本地 AAR 方式引入,请将 uju-oppo-adapter-9.4.0.aar 文件放置到 app/libs/ 目录下:
dependencies {
// OPPO 适配器(本地 AAR)
implementation(files("libs/uju-oppo-adapter-9.4.0.aar"))
}VIVO 集成
1. 权限配置
在 AndroidManifest.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" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />2. 配置信息
在 AndroidManifest.xml 文件中添加 VIVO 广告配置:
<meta-data
android:name="VIVO_APP_ID"
android:value="YOUR_VIVO_APP_ID" />3. 依赖引入
VIVO 适配器需以本地 AAR 方式引入,请将 uju-vivo-adapter-6.2.7.4.aar 和 oaid_sdk_1.0.25.aar 文件放置到 app/libs/ 目录下:
dependencies {
// VIVO 适配器(本地 AAR)
implementation(files("libs/uju-vivo-adapter-6.2.7.4.aar"))
// VIVO 依赖的 OAID SDK(本地 AAR)
implementation(files("libs/oaid_sdk_1.0.25.aar"))
}初始化配置
1. 配置方式
优聚智汇 SDK 采用热插拔模式,开发者无需手动初始化第三方广告网络,只需在优聚智汇后台配置即可。
2. 后台配置步骤
- 登录优聚智汇开发者后台
- 进入应用管理 → 选择应用
- 点击「第三方广告网络」选项
- 选择「国内广告网络」标签
- 填写各广告网络的 App ID 和广告单元 ID
- 设置广告源优先级
- 保存配置
版本说明
- 适配器版本号中的前半部分表示适配的广告网络版本,后半部分表示适配器自身迭代版本
- 例如:
com.ujusdk:uju-csj-adapter:7.5.1.1表示基于穿山甲 7.5.1.0 版本适配,适配器迭代版本为 1 - 集成时请确保使用与第三方 SDK 版本匹配的适配器
常见问题
Q: 第三方广告网络初始化失败怎么办?
A: 可能的原因:
- App ID 不正确
- 网络连接问题
- 权限配置不完整
- 适配器版本与 SDK 版本不匹配
Q: 广告不显示怎么办?
A: 可能的原因:
- 广告单元 ID 不正确
- 广告库存不足
- 测试设备未添加到测试白名单
- 广告源优先级配置不合理
Q: 如何提高广告填充率?
A: 建议:
- 集成多个广告网络
- 合理配置广告源优先级
- 优化广告位设计
- 提高应用用户活跃度
最佳实践
- 多网络集成:集成多个广告网络,提高填充率和收益
- 合理配置:根据应用特点和用户群体配置广告源优先级
- 定期更新:及时更新广告网络和适配器版本,获取最新功能和优化
- 充分测试:在正式发布前充分测试各广告网络的表现
- 数据分析:分析各广告网络的收益数据,不断优化配置
