Configurare l'accesso diretto per Ad Exchange

L'SDK Google Mobile Ads supporta la monetizzazione delle app con una proprietà Ad Exchange. Questa guida mostra come configurare le tue app per tutti i formati di annunci supportati da Ad Exchange.

Prerequisiti

Configurare l'app per accedere ad Ad Exchange

Aggiungi il tuo ID app Ad Manager (identificato nell'interfaccia utente di Ad Manager) al file AndroidManifest.xml della tua app tramite un tag <meta-data> con android:name="com.google.android.gms.ads.APPLICATION_ID". Per android:value, inserisci il tuo ID app Ad Manager, racchiuso tra virgolette.

<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>

Tieni inoltre presente che la mancata aggiunta del tag <meta-data> come mostrato sopra comporta un arresto anomalo del messaggio:

Missing application ID.

A questo punto, puoi inizializzare l'SDK Google Mobile Ads e selezionare un formato dell'annuncio da visualizzare. La parte rimanente di questa guida implementa il formato banner per spiegare come caricare un annuncio da Ad Exchange. Gli stessi passaggi possono essere applicati a tutti i formati di annunci supportati dall'SDK Google Mobile Ads.

Carica un annuncio da Ad Exchange

Nell'app puoi utilizzare un codice proprietà web di Ad Exchange con una barra finale anziché un ID unità pubblicitaria.

Ad esempio, per caricare un annuncio banner posizionando un AdManagerAdView nel layout di Activity, come segue:

# 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>

Tieni presente che la mancata aggiunta di una barra finale al codice della proprietà web di Ad Exchange come mostrato sopra genera un errore di richiesta di annuncio con il messaggio:

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

Tieni inoltre presente che puoi convertire un codice proprietà web di Ad Exchange in un'unità pubblicitaria. Dopodiché puoi utilizzare l'interfaccia utente di Ad Manager per generare un tag Ad Exchange e copiarlo nella tua app. Il tag generato deve avere il codice proprietà web di Ad Exchange, seguito dagli ID unità pubblicitaria discendenti senza una barra finale, ad esempio: ca-mb-app-pub-5629679302779023/banner

In alternativa, puoi creare un AdManagerAdView in modo programmatico:

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.

Dopo aver impostato il AdManagerAdView, puoi chiamare il metodo loadAd() nella classe AdManagerAdView e personalizzare il comportamento dell'annuncio utilizzando gli eventi relativi agli annunci.

È tutto. La tua app è ora pronta per caricare e mostrare annunci banner di Ad Exchange.

Inoltre, puoi utilizzare una proprietà web Ad Exchange per caricare e visualizzare altri formati di annunci da Ad Exchange seguendo le rispettive guide:

(Solo publisher europei approvati) Aggiungere prezzi minimi

Puoi inviare una richiesta per la funzionalità "Prezzi minimi".

Dopo l'approvazione, puoi includere un prezzo minimo pubblico o privato nella richiesta di annuncio utilizzando rispettivamente i parametri pubf e pvtf. Nel seguente esempio di codice, sostituisci "123" con i prezzi minimi in micro e la valuta predefinita della tua rete. Esempio di come vengono applicati i micro: se la valuta predefinita è USD, inserire "6000000" equivale a 6 $.

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();