设置中介

本指南介绍了如何将中介适配器与您的 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提供了开源适配器。

如需详细了解如何在应用中添加每个合作伙伴广告联盟的 适配器,请参阅每个合作伙伴广告联盟的 AndroidiOS 文档。

检查哪个广告联盟适配器类加载了广告

以下示例代码演示了如何记录横幅广告的广告联盟类名称:

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 广告合作伙伴列表中添加您的 中介合作伙伴。否则,合作伙伴可能无法在您的应用中投放广告。

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