通过 AdMob 中介功能,您可以在一个位置集中管理用来向您的应用投放广告的所有广告来源,包括 AdMob 广告联盟和第三方广告来源。AdMob 中介会将广告请求发送至多个广告联盟,以确保您找到最合适的广告联盟来投放广告,有助于最大限度提高您的填充率,增加您的收入。案例研究。
前提条件
在为广告格式集成中介功能之前,您需要将相应广告格式集成到自己的应用中:
中介功能新手一枚?阅读 AdMob 中介概览。
初始化移动广告 SDK
本快速入门指南介绍了如何初始化移动广告 SDK。在初始化调用期间,中介适配器也会初始化。请务必在初始化完成后再加载广告,以确保每个广告联盟都可完全参与第一个广告请求。
以下示例代码展示了如何在发出广告请求前检查每个适配器的初始化状态。
void main() {
WidgetsFlutterBinding.ensureInitialized();
MobileAds.instance.initialize()
.then((initializationStatus) {
initializationStatus.adapterStatuses.forEach((key, value) {
debugPrint('Adapter status for $key: ${value.description}');
});
});
runApp(MyApp());
}
更新 Gradle 设置(仅限 Android)
将以下行添加到 settings.gradle
文件中,以便您可以使用插件的 Android API:
def flutterSdkPath = {
def properties = new Properties()
file("local.properties").withInputStream { properties.load(it) }
def flutterSdkPath = properties.getProperty("flutter.sdk")
assert flutterSdkPath != null, "flutter.sdk not set in local.properties"
return flutterSdkPath
}()
includeBuild("$flutterSdkPath/packages/flutter_tools/gradle")
为合作伙伴网络添加依赖项
您需要将中介适配器及其依赖项添加到 Android 和 iOS 项目中。您可以在 Android 上通过更新应用级 build.gradle
文件来添加它们,在 iOS 上则通过更新 Podfile
文件来添加。Google 在 GitHub 中提供了适用于 Android 和 iOS 的开源适配器。
如需详细了解如何在应用中添加每个合作伙伴广告联盟的适配器,请参阅Android和iOS文档。
检查哪个广告联盟适配器类加载了广告
以下示例代码演示了如何记录横幅广告的广告联盟类名称:
final bannerAd = BannerAd(
size: AdSize.banner,
adUnitId: '<your-ad-unit>',
listener: BannerAdListener(
onAdLoaded: (ad) {
debugPrint('$ad loaded: ${ad.responseInfo?.mediationAdapterClassName}');
},
),
request: AdRequest(),
);
将横幅广告与 AdMob 中介搭配使用
对于 AdMob 中介里所使用的横幅广告单元,请确保停用所有第三方广告来源界面中的刷新功能。这可防止重复刷新,因为 AdMob 还会根据横幅广告单元的刷新频率触发刷新。
将原生广告与 AdMob 中介搭配使用
以下是在 AdMob 中介中植入原生广告时可以考虑的一些最佳实践。
- 原生广告展示政策
- 每个广告联盟都有自己的政策。请注意,使用中介功能时,您的应用仍需遵守提供相应广告的中介广告联盟的政策。
美国各州的隐私保护法和 GDPR
如果您需要遵守美国州级隐私保护法律或《一般数据保护条例》(GDPR),请按照美国州级法规设置或 GDPR 设置中的步骤,将您的中介合作伙伴添加到 AdMob“隐私权和消息”的美国州级或 GDPR 广告合作伙伴名单中。否则,可能会导致合作伙伴无法在您的应用中投放广告。
详细了解如何使用 Google User Messaging Platform (UMP) SDK 启用受限的数据处理 (RDP) 并征求 GDPR 意见。