Mediação

Este guia mostra como integrar um adaptador de mediação ao seu app do Flutter.

Pré-requisitos

Antes de integrar a mediação a um formato de anúncio, você precisa integrar esse formato ao app:

Ainda não conhece a mediação? Leia Introdução à mediação.

Inicializar o SDK de anúncios para dispositivos móveis

O guia de início rápido mostra como inicializar o SDK dos anúncios para dispositivos móveis. Durante essa chamada de inicialização, os adaptadores de mediação também são inicializados. É importante aguardar a conclusão da inicialização antes de carregar os anúncios para garantir a participação plena de todas as redes de publicidade na primeira solicitação de anúncio.

O exemplo de código a seguir mostra como verificar o status de inicialização de cada adaptador antes de fazer uma solicitação de anúncio.

void main() {
  WidgetsFlutterBinding.ensureInitialized();
  
  MobileAds.instance.initialize()
    .then((initializationStatus) {
      initializationStatus.adapterStatuses.forEach((key, value) {
        debugPrint('Adapter status for $key: ${value.description}');
      });
  });
  
  runApp(MyApp());
}

Atualizar as configurações do Gradle (somente Android)

Adicione as seguintes linhas ao arquivo settings.gradle para usar as APIs Android do plug-in:

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
}

Adicionar dependências para redes de parceiros

Os adaptadores de mediação e as dependências deles precisam ser adicionados aos seus projetos Android e iOS. Eles podem ser adicionados atualizando o arquivo build.gradle no nível do app no Android e Podfile no iOS. O Google tem adaptadores de código aberto no GitHub para Android e iOS.

Consulte a documentação de Android e iOS de cada rede de parceiro para conferir orientações detalhadas sobre como adicionar o adaptador ao seu app.

Verifique qual classe de adaptador da rede de publicidade carregou o anúncio

O código de exemplo a seguir demonstra como registrar o nome da classe da rede de publicidade para um anúncio de banner:

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

Usar anúncios de banner com mediação

Desative a atualização em todas as interfaces de origem de anúncios de terceiros para blocos de anúncios de banner usados na mediação. Isso evita uma atualização dupla, já que o Ad Manager também aciona uma atualização com base na taxa de atualização do bloco de anúncios de banner.

Usar anúncios nativos com mediação

Veja a seguir algumas práticas recomendadas que precisam ser consideradas ao implementar a mediação nativa.

Política de apresentação de anúncios nativos
Cada rede de publicidade tem as próprias políticas. Ao usar a mediação, é importante lembrar que seu app ainda precisa obedecer às políticas da rede mediada que forneceu o anúncio.

Leis Estaduais de Privacidade dos EUA e GDPR

Se você precisar obedecer às Leis Estaduais de Privacidade dos EUA ou ao Regulamento geral de proteção de dados (GDPR), siga as etapas em Configurações das regulamentações estaduais dos EUA ou Configurações do GDPR para adicionar seus parceiros de mediação aos estados dos EUA ou à lista de parceiros de publicidade do GDPR no Ad Manager. Se isso não for feito, os parceiros não poderão veicular anúncios no seu app.

Saiba mais sobre como ativar o processamento de dados restrito (RDP, na sigla em inglês) e receber o consentimento do GDPR com o SDK da plataforma de mensagens de usuários do Google (UMP).