O SDK do Google Mobile Ads oferece suporte à monetização de apps com uma propriedade do Ad Exchange. Este guia mostra como configurar seus apps para todos os formatos de anúncio com suporte do Ad Exchange.
Pré-requisitos
- Concluir os pré-requisitos.
- Configurar o app para o SDK do Google Mobile Ads.
Configurar o app para acessar o Ad Exchange
Adicione o ID do app do Ad Manager (identificado na interface do Ad Manager
UI) 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 <meta-data> tag conforme mostrado acima, vai ocorrer uma
falha e esta mensagem será mostrada:
Missing application ID.
Em seguida, você pode inicializar o SDK dos anúncios para dispositivos móveis do Google e selecionar um formato de anúncio para mostrar. 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 com suporte do SDK do Google Mobile Ads.
Carregar um anúncio do Ad Exchange
Você pode 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/.
Por exemplo, para carregar um anúncio de banner, coloque um AdManagerAdView no layout da Activity, da seguinte maneira:
# main_activity.xml
...
<com.google.android.gms.ads.admanager.AdManagerAdView
xmlns:ads="http://schemas.android.com/apk/res-auto"
android:id="@+id/adManagerAdView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_alignParentBottom="true"
ads:adSize="BANNER"
ads:adUnitId="ca-mb-app-pub-5629679302779023/">
</com.google.android.gms.ads.admanager.AdManagerAdView>
Como alternativa, você pode criar uma hierarquia de visualização de forma programática:
Java
AdManagerAdView adView = new AdManagerAdView(this);
adView.setAdSizes(AdSize.BANNER);
adView.setAdUnitId("ca-mb-app-pub-5629679302779023/");
// TODO: Add adView to your view hierarchy.
Kotlin
val adView = AdManagerAdView(this)
adView.adSizes = AdSize.BANNER
adView.adUnitId = "ca-mb-app-pub-5629679302779023/"
// TODO: Add adView to your view hierarchy.
Depois que o AdManagerAdView estiver no lugar, você poderá chamar o loadAd()
método na
AdManagerAdView classe e personalizar o comportamento do anúncio usando eventos
de anúncio.
Se você não adicionar uma barra invertida à direita ao código de propriedade da Web do Ad Exchange, vai ocorrer um erro de 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 disso, use a interface do Ad Manager para gerar uma tag do Ad Exchange
e copie-a para o
app. A tag gerada precisa ter o código de propriedade da Web do Ad Exchange, seguido
pelos IDs do bloco de anúncios descendente sem uma barra invertida à direita. Por exemplo:
ca-mb-app-pub-5629679302779023/banner.
Pronto! Seu app está preparado para carregar e mostrar 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 guias respectivos:
(Somente publishers europeus aprovados) Adicionar preços mínimos
Você pode enviar uma solicitação do recurso "Preços mínimos" feature.
Depois de aprovado, você pode incluir um preço 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 na moeda padrão da sua rede. Exemplo de como os micros são aplicados: se a moeda padrão for USD, "6000000" equivale a US $6,00.
Java
Bundle extras = new Bundle();
// Public floor parameter.
extras.putString("pubf", "123");
// Private floor parameter.
extras.putString("pvtf", "123");
AdManagerAdRequest request = new AdManagerAdRequest.Builder()
.addNetworkExtrasBundle(AdMobAdapter.class, extras)
.build();
Kotlin
val extras = Bundle();
// Public floor parameter.
extras.putString("pubf", "123");
// Private floor parameter.
extras.putString("pvtf", "123");
val request = AdManagerAdRequest.Builder()
.addNetworkExtrasBundle(AdMobAdapter::class::java, extras)
.build();