中介

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

前提条件

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

中介功能新手一枚?阅读中介简介

初始化移动广告 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 flutterProjectRoot = rootProject.projectDir.parentFile.toPath()
def plugins = new Properties()
def pluginsFile = new File(flutterProjectRoot.toFile(), '.flutter-plugins')
if (pluginsFile.exists()) {
    pluginsFile.withInputStream { stream -> plugins.load(stream) }
}

plugins.each { name, path ->
    def pluginDirectory = flutterProjectRoot.resolve(path).resolve('android').toFile()
    include ":$name"
    project(":$name").projectDir = pluginDirectory
}

为合作伙伴广告联盟添加依赖项

您需要将中介适配器及其依赖项添加到您的 Android 和 iOS 项目中。您可以通过更新 Android 上的应用级 build.gradle 文件和 iOS 上的 Podfile 文件来添加这些内容。Google 在 GitHub 中提供了适用于 AndroidiOS 的开源适配器。

如需详细了解如何在应用中添加各个合作伙伴广告联盟的适配器,请参阅每个合作伙伴广告联盟的 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 广告合作伙伴名单中。否则,可能会导致合作伙伴无法在您的应用中投放广告。

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