Android 海外第三方广告网络
概述
优聚智汇 SDK 支持集成多个海外主流广告网络,帮助开发者在全球范围内最大化广告收益。本文档将介绍如何集成海外第三方广告网络。
支持的海外广告网络
| 广告网络 | 平台 | 支持的广告类型 | 集成难度 |
|---|---|---|---|
| AdMob | Android/iOS | 横幅、激励视频、原生、插屏、开屏 | 中等 |
| Facebook Audience Network | Android/iOS | 横幅、激励视频、原生、插屏 | 中等 |
| Unity Ads | Android/iOS | 横幅、激励视频、插屏 | 简单 |
| IronSource | Android/iOS | 横幅、激励视频、原生、插屏 | 中等 |
| AppLovin | Android/iOS | 横幅、激励视频、原生、插屏 | 中等 |
集成步骤
1. 申请账号
在集成海外广告网络前,您需要在各平台申请开发者账号:
- AdMob:https://admob.google.com/
- Facebook Audience Network:https://developers.facebook.com/docs/audience-network/
- Unity Ads:https://unity.com/products/unity-ads
- IronSource:https://www.is.com/
- AppLovin:https://www.applovin.com/
2. 添加依赖
在您的应用级 build.gradle 文件中添加海外广告网络依赖:
gradle
dependencies {
// 优聚智汇 SDK
implementation 'com.ujuad:sdk:1.0.0'
// AdMob SDK
implementation 'com.google.android.gms:play-services-ads:20.5.0'
// Facebook Audience Network SDK
implementation 'com.facebook.android:audience-network-sdk:6.11.0'
// Unity Ads SDK
implementation 'com.unity3d.ads:unity-ads:4.4.1'
// IronSource SDK
implementation 'com.ironsource.sdk:mediationsdk:7.2.7.0'
// AppLovin SDK
implementation 'com.applovin:applovin-sdk:11.4.2'
}3. 配置 AndroidManifest.xml
在 AndroidManifest.xml 文件中添加必要的配置:
xml
<!-- AdMob 配置 -->
<meta-data
android:name="com.google.android.gms.ads.APPLICATION_ID"
android:value="YOUR_ADMOB_APP_ID" />
<!-- Facebook Audience Network 配置 -->
<meta-data
android:name="com.facebook.sdk.ApplicationId"
android:value="YOUR_FACEBOOK_APP_ID" />
<!-- Unity Ads 配置 -->
<meta-data
android:name="unity.splash-mode"
android:value="0" />
<meta-data
android:name="unity.fullscreen.backgroundcolor"
android:value="#000000" />4. 初始化海外广告网络
在 Application 类的 onCreate 方法中初始化海外广告网络:
java
private void initOverseasAdNetworks() {
// 初始化 AdMob
initAdMob();
// 初始化 Facebook Audience Network
initFacebook();
// 初始化 Unity Ads
initUnityAds();
// 初始化 IronSource
initIronSource();
// 初始化 AppLovin
initAppLovin();
}
private void initAdMob() {
// AdMob 初始化代码
MobileAds.initialize(this, initializationStatus -> {
Log.d("AdMob", "AdMob 初始化成功");
});
}
private void initFacebook() {
// Facebook Audience Network 初始化代码
AudienceNetworkAds.initialize(this);
Log.d("Facebook", "Facebook Audience Network 初始化成功");
}
private void initUnityAds() {
// Unity Ads 初始化代码
UnityAds.initialize(this, "YOUR_UNITY_GAME_ID", false, new IUnityAdsInitializationListener() {
@Override
public void onInitializationComplete() {
Log.d("UnityAds", "Unity Ads 初始化成功");
}
@Override
public void onInitializationFailed(UnityAds.UnityAdsInitializationError error, String message) {
Log.e("UnityAds", "Unity Ads 初始化失败: " + message);
}
});
}
private void initIronSource() {
// IronSource 初始化代码
IronSource.init(this, "YOUR_IRONSOURCE_APP_KEY");
Log.d("IronSource", "IronSource 初始化成功");
}
private void initAppLovin() {
// AppLovin 初始化代码
AppLovinSdk.getInstance(this).setMediationProvider("max");
AppLovinSdk.getInstance(this).initializeSdk(config -> {
Log.d("AppLovin", "AppLovin 初始化成功");
});
}广告单元配置
1. 创建广告单元
在各广告网络平台创建广告单元,并获取广告单元 ID:
- AdMob:登录 AdMob 平台 → 应用管理 → 创建广告单元
- Facebook Audience Network:登录 Facebook 开发者平台 → 应用管理 → 创建广告位
- Unity Ads:登录 Unity 开发者平台 → 项目管理 → 创建广告位
- IronSource:登录 IronSource 平台 → 应用管理 → 创建广告位
- AppLovin:登录 AppLovin 平台 → 应用管理 → 创建广告位
2. 在优聚智汇后台配置
登录优聚智汇开发者后台,在应用设置中配置海外广告网络的广告单元 ID:
- 进入应用管理 → 选择应用
- 点击 "第三方广告网络" 选项
- 填写各广告网络的 App ID 和广告单元 ID
- 保存配置
广告加载与展示
1. 配置广告源优先级
在优聚智汇后台配置广告源优先级,决定广告请求的顺序:
- 瀑布流模式:按优先级顺序请求广告,直到获取到广告
- 实时竞价:根据预估收益实时选择最优广告
2. 加载广告
使用优聚智汇 SDK 的标准 API 加载广告,SDK 会自动处理海外广告网络的请求:
java
// 加载激励视频广告
RewardedVideoAdConfig config = new RewardedVideoAdConfig.Builder()
.setAdUnitId("YOUR_REWARDED_VIDEO_AD_UNIT_ID")
.setUserId("USER_ID")
.build();
RewardedVideoAd rewardedVideoAd = new RewardedVideoAd(this, config);
rewardedVideoAd.setAdListener(new RewardedVideoAdListener() {
// 回调方法
});
rewardedVideoAd.loadAd();调试与测试
1. 测试模式
在开发阶段,启用各广告网络的测试模式:
java
// 启用 AdMob 测试模式
MobileAds.setRequestConfiguration(
new RequestConfiguration.Builder()
.setTestDeviceIds(Arrays.asList("YOUR_TEST_DEVICE_ID"))
.build()
);
// 启用 Facebook Audience Network 测试模式
AudienceNetworkAds.isTestMode(true);
// 启用 Unity Ads 测试模式
UnityAds.setTestMode(true);2. 测试广告单元
使用各广告网络提供的测试广告单元 ID 进行测试:
- AdMob:使用平台提供的测试广告单元 ID
- Facebook Audience Network:使用平台提供的测试广告位 ID
- Unity Ads:使用平台提供的测试广告位 ID
常见问题
Q: 海外广告网络初始化失败怎么办?
A: 可能的原因:
- App ID 不正确
- 网络连接问题(可能需要 VPN)
- SDK 版本不兼容
- 权限配置问题
- 地区限制
Q: 海外广告为什么不显示?
A: 可能的原因:
- 广告单元 ID 不正确
- 广告库存不足
- 地区限制
- 测试设备未添加
- 广告网络配置错误
Q: 如何提高海外广告的填充率?
A: 建议:
- 集成多个广告网络
- 合理配置广告源优先级
- 优化广告加载策略
- 确保应用符合各平台政策
- 提高应用用户活跃度
最佳实践
- 多网络集成:集成多个广告网络,提高填充率
- 地区优化:根据用户地区配置不同的广告网络优先级
- 合规性:确保应用符合各广告网络的政策要求
- 测试优化:充分测试各广告网络的表现
- 数据分析:分析各广告网络的收益数据,不断优化
- 及时更新:及时更新各广告网络的 SDK 版本
