设置中介

本指南介绍了如何将中介适配器与 Flutter 应用集成。

前提条件

在为广告格式集成中介功能之前,您需要将相应广告格式集成到自己的应用中:

不熟悉中介?请阅读 中介简介。

初始化 Google Mobile Ads Flutter Plugin

本快速入门指南介绍了如何初始化 Google Mobile Ads Flutter Plugin。 在初始化调用期间,中介适配器也会初始化。请务必在初始化完成后再加载广告,以验证每个广告联盟是否都可完全参与第一个广告请求。

以下示例代码展示了如何在发出广告请求前检查每个适配器的初始化状态。

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 = AdManagerBannerAd(
      size: [AdSize.banner],
      adUnitId: '<your-ad-unit>',
      listener: AdManagerBannerAdListener(
        onAdLoaded: (ad) {
          debugPrint('$ad loaded: ${ad.responseInfo?.mediationAdapterClassName}');
        },
      ),
      request: AdManagerAdRequest(),
    );

对于中介里所使用的横幅广告单元,请确保在所有第三方广告来源界面中停用刷新功能。这可防止重复刷新,因为 Ad Manager 也会根据横幅广告单元的刷新频率触发刷新。

将原生广告与中介搭配使用

以下是在实现原生中介时可以参考的一些最佳实践。

原生广告展示政策
每个广告联盟都有自己的政策。使用中介时,请务必注意,您的应用仍需遵守提供广告的中介广告联盟的政策。

美国州级隐私保护法律和 GDPR

如果您需要遵守美国州级隐私保护 法律或《一般数据保护 条例》(GDPR),请按照 美国州级法规 设置或GDPR 设置中的 步骤操作,在 Ad Manager“隐私权和消息”的 美国州级或 GDPR 广告合作伙伴列表中添加 中介合作伙伴。否则,可能会导致合作伙伴无法在您的应用中投放广告。

详细了解如何使用 Google User Messaging Platform (UMP) SDK启用受限的数据处理 (RDP)并征求 GDPR 意见征求。