L'SDK Google Mobile Ads supporta la monetizzazione delle app con un account Ad Exchange proprietà. Questa guida mostra come configurare le app per tutti i formati degli annunci supportati da Ad Exchange.
Prerequisiti
- Completa le prerequisiti per l'implementazione.
- Configura il tuo app per l'SDK Google Mobile Ads.
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, 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>
Inoltre, se non aggiungi il tag <meta-data>
come mostrato sopra,
si arresta in modo anomalo con il messaggio:
Missing application ID.
Poi, puoi inizializzare gli annunci per cellulari di Google SDK e seleziona un formato di annuncio da visualizzare. Il resto di questa guida implementa il formato banner per illustrare come caricare un annuncio da Ad Exchange. Gli stessi passaggi possono essere applicati Tutti i formati di annunci supportati dall'SDK Google Mobile Ads.
Caricare un annuncio da Ad Exchange
Puoi utilizzare un codice proprietà web Ad Exchange con una barra finale, in l'app al posto dell'ID unità pubblicitaria.
Ad esempio, per caricare un annuncio banner inserendo un AdManagerAdView
nel layout per il 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 riquadro 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 annuncio Ad Exchange
Tagga e copialo nel tuo
dell'app. Il tag generato deve avere il codice proprietà web Ad Exchange, seguito
in base agli ID delle unità pubblicitarie discendenti senza barra finale, ad esempio:
ca-mb-app-pub-5629679302779023/banner
In alternativa, puoi creare una 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.
Una volta che AdManagerAdView
è in posizione, puoi chiamare il loadAd()
nel
AdManagerAdView
e personalizza il comportamento dell'annuncio utilizzando annuncio
eventi.
È tutto. La tua app è ora pronta per caricare e mostrare gli annunci banner di Ad Exchange.
Inoltre, puoi utilizzare una proprietà web Ad Exchange per caricare e visualizzare altri di Ad Exchange seguendo le rispettive guide:
Aggiungere i prezzi minimi (solo per i publisher europei approvati)
Puoi inviare una richiesta per i "Prezzi minimi" funzionalità.
Una volta approvato, puoi includere un prezzo minimo pubblico o un prezzo minimo 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 rete. Esempio di come
vengono applicati i micro: se la tua valuta predefinita è il dollaro statunitense, inserisci "6000000" è la
equivalente di $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();