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 seu app:

Você é novo na mediação? Leia Introdução à mediação.

Inicializar o SDK dos 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 esperar a inicialização ser concluída antes de carregar anúncios para garantir a participação total de todas as redes de publicidade na primeira solicitação de anúncio.

O exemplo de código abaixo 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 linhas a seguir ao arquivo settings.gradle para usar as APIs do 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 parceiras

Os adaptadores de mediação e as dependências deles precisam ser adicionados aos projetos Android e iOS. Eles podem ser adicionados atualizando o arquivo build.gradle do 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 Android e iOS de cada rede parceira para receber orientações detalhadas sobre como adicionar o adaptador no app.

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

O exemplo de código abaixo 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 a mediação

Desative a atualização em todas as interfaces de origem de anúncios de terceiros para blocos de anúncios 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

Confira a seguir algumas práticas recomendadas a serem consideradas ao implementar a mediação nativa.

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

Leis estaduais de privacidade dos EUA e o GDPR

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

Saiba 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, na sigla em inglês).