Configurare l'accesso diretto per Ad Exchange

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

Prerequisiti

Configurare l'app per l'accesso ad Ad Exchange

Aggiungi l'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 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 presente inoltre che se non aggiungi il tag <meta-data> come mostrato sopra, si verifica un arresto anomalo con il messaggio:

Missing application ID.

Successivamente, puoi inizializzare l'SDK Google Mobile Ads e selezionare un formato annuncio da visualizzare. Il resto di questa guida implementa il formato banner per mostrare come caricare un annuncio da Ad Exchange. Gli stessi passaggi possono essere applicati a qualsiasi formato annuncio supportato dall'SDK Google Mobile Ads.

Caricare un annuncio da Ad Exchange

Puoi utilizzare un codice di proprietà web Ad Exchange con una barra avanti finale al posto di un ID unità pubblicitaria. Ad esempio, ca-mb-app-pub-5629679302779023/.

L'esempio seguente aggiunge il codice proprietà web Ad Exchange a una richiesta di annuncio 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)));
      }
    });

Tieni presente che il mancato inserimento di una barra in avanti finale nel codice della proprietà web Ad Exchange genera un errore di richiesta di annuncio con il messaggio:

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

Puoi anche convertire un codice proprietà web Ad Exchange in un'unità pubblicitaria. Successivamente, utilizza l'interfaccia utente di Ad Manager per generare un tag Ad Exchange e copiarlo nella tua app. Il tag generato deve contenere il codice della proprietà web Ad Exchange, seguito dagli ID unità pubblicitarie discendenti senza una barra obliqua finale, ad esempio: ca-mb-app-pub-5629679302779023/banner.

È tutto. Ora la tua app è pronta per caricare e visualizzare gli annunci banner di Ad Exchange.

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

(Solo per i publisher europei approvati) Aggiungere i prezzi minimi

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

Una volta approvato, puoi includere un prezzo minimo pubblico o privato nella richiesta di annuncio utilizzando rispettivamente i parametri pubf e pvtf. Nell'esempio di codice riportato di seguito, sostituisci"123" con i prezzi minimi in micro e la valuta predefinita della tua rete. Esempio di come vengono applicati i micro: se la tua valuta predefinita è il dollaro statunitense, l'inserimento di "6000000" equivale a 6,00 $.

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