Configurar o acesso direto ao Ad Exchange

O SDK dos anúncios para dispositivos móveis do Google permite monetizar seus apps com uma propriedade do Ad Exchange. Este guia mostra como configurar seus apps para todos os formatos de anúncio aceitos pelo Ad Exchange.

Pré-requisitos

Configurar o app para acessar o Ad Exchange

Adicione o ID do app do Ad Manager (identificado na interface do Ad Manager) ao arquivo AndroidManifest.xml do app usando uma tag <meta-data> com android:name="com.google.android.gms.ads.APPLICATION_ID". Para android:value, insira seu próprio ID do app do Ad Manager entre aspas.

<manifest>
    <application>
        <!-- Sample Ad Manager app ID: ca-app-pub-3940256099942544~3347511713 -->
        <meta-data
            android:name="com.google.android.gms.ads.APPLICATION_ID"
            android:value="ca-app-pub-xxxxxxxxxxxxxxxx~yyyyyyyyyy"/>
    </application>
</manifest>

Caso você não adicione a tag <meta-data> exatamente como ela aparece, vai ocorrer uma falha e esta mensagem será mostrada:

Missing application ID.

Em seguida, inicialize o SDK dos anúncios para dispositivos móveis do Google e selecione um formato de anúncio para exibir. O restante deste guia implementa o formato de banner para ilustrar como carregar um anúncio do Ad Exchange. As mesmas etapas podem ser aplicadas a qualquer formato de anúncio compatível com o SDK dos anúncios para dispositivos móveis do Google.

Carregar um anúncio do Ad Exchange

É possível usar um código de propriedade da Web do Ad Exchange com uma barra invertida à direita em vez de um ID do bloco de anúncios. Por exemplo, ca-mb-app-pub-5629679302779023/.

O exemplo a seguir adiciona o código da propriedade da Web do Ad Exchange a uma solicitação de anúncio de banner:

Kotlin

val adRequest = BannerAdRequest.Builder("ca-mb-app-pub-5629679302779023/", AdSize.BANNER).build()

BannerAd.load(
  adRequest,
  object : AdLoadCallback<BannerAd> {
    override fun onAdLoaded(ad: BannerAd) {
      bannerAd = ad
      activity?.runOnUiThread {
        binding.bannerViewContainer.addView(ad.getView(requireActivity()))
      }
    }
  }
)

Java

BannerAdRequest adRequest = new BannerAdRequest.Builder("ca-mb-app-pub-5629679302779023/",
    AdSize.BANNER).build();

BannerAd.load(
    adRequest,
    new AdLoadCallback<BannerAd>() {
      @Override
      public void onAdLoaded(@NonNull BannerAd ad) {
        bannerAd = ad;
        runOnUiThread(
            () -> binding.bannerViewContainer.addView(ad.getView(MainActivity.this)));
      }
    });

Se você não adicionar uma barra invertida ao final do código da propriedade da Web do Ad Exchange, vai ocorrer um erro na solicitação de anúncio com a mensagem:

Invalid Request. Cannot determine request type. Is your ad unit id correct?

Também é possível converter um código de propriedade da Web do Ad Exchange em um bloco de anúncios. Depois, use a interface do Ad Manager para gerar uma tag do Ad Exchange e copie-a para seu app. A tag gerada precisa ter o código da propriedade da Web do Ad Exchange, seguido pelos IDs dos blocos de anúncios descendentes sem uma barra invertida à direita. Por exemplo: ca-mb-app-pub-5629679302779023/banner.

Pronto! Seu app está pronto para carregar e exibir anúncios de banner do Ad Exchange.

Além disso, você pode usar uma propriedade da Web do Ad Exchange para carregar e mostrar outros formatos de anúncio do Ad Exchange seguindo os respectivos guias:

(Somente editores europeus aprovados) Adicionar preços mínimos

É possível enviar uma solicitação do recurso "Preços mínimos".

Depois de aprovado, você pode incluir um valor mínimo público ou privado na solicitação de anúncio usando os parâmetros pubf e pvtf, respectivamente. No exemplo de código a seguir, substitua "123" pelos preços mínimos em micros e a moeda padrão da sua rede. Exemplo de como os micros são aplicados: se a moeda padrão for o dólar americano, inserir "6000000" é o equivalente a US $6.

Kotlin

val extras = Bundle();
// Public floor parameter.
extras.putString("pubf", "123");
// Private floor parameter.
extras.putString("pvtf", "123");

val request = AdRequest.Builder("ca-mb-app-pub-5629679302779023/")
    .setGoogleExtrasBundle(extras)
    .build();

Java

Bundle extras = new Bundle();
// Public floor parameter.
extras.putString("pubf", "123");
// Private floor parameter.
extras.putString("pvtf", "123");

AdRequest request = new AdRequest.Builder("ca-mb-app-pub-5629679302779023/")
    .setGoogleExtrasBundle(extras)
    .build();