Prerequisiti
Questa guida all'implementazione presuppone che tu abbia familiarità con quanto segue:
- Implementazione degli annunci associati alla ricerca personalizzati AFS protocollo
- Sviluppo di app per Android
- Associazione di Google Mobile Ads SDK per Android (ora parte di Google Play Services) con un progetto Android Studio. È necessaria la versione 9.0.0 di Google Play Services.
Corsi
Per pubblicare annunci AFSMA (noti anche come annunci dinamici della rete di ricerca sull'altezza) nella tua app, implementare le seguenti classi:
- Questa classe eredita dalla classe
ViewGroup
di Android e mostra gli annunci AFSMA.SearchAdView
effettua la richiesta di un annuncio con unDynamicHeightSearchAdRequest
e mostra gli annunci restituiti. L'elementoSearchAdView
deve essere aggiunto a qualsiasi gruppo di visualizzazioni esistenti dell'app. - Deve essere creata un'istanza di
SearchAdView
con il contesto in cui è in esecuzioneSearchAdView
, in genere è unActivity
. - Dopo aver creato l'istanza di
SearchAdView
, devi chiamare il metodosetAdSize()
conAdSize.SEARCH
per richiedere annunci AFSMA. Altri valori enum richiederanno annunci non compatibili con AFS per app mobile. - Chiama il metodo
setAdUnitId()
su questo oggetto con il tuo codice proprietà.
DynamicHeightSearchAdRequest.Builder
- Questa classe incapsula i parametri della richiesta di annuncio. Questa procedura è analoga all'impostazione dei parametri negli oggetti di richiesta di annuncio JavaScript (opzioni pagina, opzioni unità) per AFS per desktop e web mobile.
- Impostare i parametri con i setter appropriati (in altre parole,
chiama
setQuery()
per impostare il parametro di query).
Esempio di implementazione
L'esempio seguente mostra l'utilizzo di Activity
per creare un SearchAdView
come visualizzazione secondaria di ViewGroup
. Per richiedere correttamente gli annunci AFSMA, il SearchAdView
deve chiamare il metodo setAdSize()
con AdSize.SEARCH
.
// MainActivity.java implementation
// (MainActivity is a subclass of Activity)
// Create the SearchAdView
final SearchAdView searchAdView = new SearchAdView(this);
// Set parameter to request for dynamic height search ads
searchAdView.setAdSize(AdSize.SEARCH); // Important!
// Replace with your pub ID (e.g. ms-app-pub-9616389000213823)
searchAdView.setAdUnitId("ms-app-pub-################");
// Add searchAdView to parent view group
...
All'interno dello stesso Activity
, crea un DynamicHeightSearchAdRequest.Builder
che
indica i parametri dell'annuncio che verrà visualizzato nell'elemento SearchAdView
.
Gli annunci AFSMA sono configurati nello stesso modo degli annunci personalizzati AFS della rete di ricerca.
consulta la sezione sugli annunci
della rete di ricerca personalizzati AFS
Riferimento
per maggiori dettagli.
// Create the ad request
DynamicHeightSearchAdRequest.Builder builder =
new DynamicHeightSearchAdRequest.Builder();
builder.setQuery("flowers");
builder.setNumber(2);
// Replace with the ID of a style from your custom search styles
builder.setAdvancedOptionValue("csa_styleId", "0000000001");
// Customization options (set using setters on
// DynamicHeightSearchAdRequest.Builder)
builder.setAdTest(true);
Altre opzioni di personalizzazione sono possibili impostando proprietà aggiuntive nella
DynamicHeightSearchAdRequest.Builder
.
Per effettuare una richiesta di annuncio, chiama il metodo loadAd()
con il
Oggetto DynamicHeightSearchAdRequest.Builder
dall'oggetto SearchAdView
:
searchAdView.loadAd(builder.build());
Opzioni avanzate
La maggior parte dei parametri di richiesta di annuncio può essere impostata tramite i metodi del setter
sull'oggetto DynamicHeightSearchAdRequest.Builder
.
Tutti i parametri che non dispongono di un metodo setter in
DynamicHeightSearchAdRequest.Builder
può essere impostato utilizzando coppie chiave-valore con
setAdvancedOptionValue()
.
Consulta gli annunci personalizzati associati alla ricerca AFS
Riferimento
per un elenco completo delle impostazioni che possono essere configurate
setAdvancedOptionValue()
.
Il parametro chiave deve essere preceduto dal prefisso "csa_" per impostare correttamente la proprietà.
// Advanced customization options (set using key-value pair)
// Set a parameter (parameter_name) and its value (parameter_value)
// builder.setAdvancedOptionValue("csa_parameter_name", "parameter_value");
// Example: Show visible URL below description
// (domainLinkAboveDescription: false)
builder.setAdvancedOptionValue("csa_domainLinkAboveDescription", "false");
Se usi il metodo del setter di un parametro e lo imposti utilizzando setAdvancedOptionValue
,
la seconda chiamata sostituirà il valore della prima.
Analisi degli errori
SearchAdView
(searchAdView
qui) contiene un metodo setAdListener()
per aiutarti a esaminare gli errori. All'interno dello stesso Activity
:
searchAdView.setAdListener(new AdListener() {
@Override
public void onAdLoaded() {
// Called when an ad is loaded
super.onAdLoaded();
Toast.makeText(MainActivity.this, "Ad Loaded",
Toast.LENGTH_SHORT).show();
Log.d(MainActivity.class.getSimpleName(), "Ad Loaded");
}
@Override
public void onAdOpened() {
// Called when an ad opens an overlay that covers the screen
super.onAdOpened();
Toast.makeText(MainActivity.this, "Ad Opened",
Toast.LENGTH_SHORT).show();
Log.d(MainActivity.class.getSimpleName(), "Ad Opened");
}
@Override
public void onAdLeftApplication() {
// Called when an ad leaves the application
// (to go to the browser for example)
super.onAdLeftApplication();
Toast.makeText(MainActivity.this, "Ad Left Application",
Toast.LENGTH_SHORT).show();
Log.d(MainActivity.class.getSimpleName(), "Ad Left Application");
}
@Override
public void onAdFailedToLoad(int errorCode) {
// Called when an ad request failed
super.onAdFailedToLoad(errorCode);
Toast.makeText(MainActivity.this, "Ad Failed to Load: " + errorCode,
Toast.LENGTH_SHORT).show();
Log.e(MainActivity.class.getSimpleName(), "Ad Failed to Load: " +
errorCode);
}
});
Costanti utilizzate nel metodo di callback onAdFailedToLoad()
sono descritti in API
riferimento.
Prepararsi per i requisiti relativi alle informative sui dati di Google Play
A maggio 2021, Google Play ha annunciato la nuova sezione Sicurezza dei dati, ovvero un'informativa fornita dagli sviluppatori relativa alle prassi di raccolta, condivisione e sicurezza dei dati di un'app.
Questa pagina può aiutarti a completare i requisiti per questa informativa sui dati relativi all'utilizzo dell'SDK nativo AFS (applicabile anche per l'utilizzo di AdSense per Shopping). In questa pagina puoi trovare informazioni su se e come i nostri SDK gestiscono i dati degli utenti finali.
Il nostro obiettivo è essere il più trasparente possibile per supportarti. Tuttavia, in qualità di sviluppatore di app, è tua esclusiva responsabilità decidere come rispondere al modulo della sezione Sicurezza dei dati di Google Play in merito alle misure di raccolta, condivisione e sicurezza dei dati degli utenti finali della tua app.
Come utilizzare le informazioni in questa pagina
Questa pagina elenca i dati degli utenti finali raccolti solo dalla versione più recente dell'SDK.
Per completare l'informativa sui dati, puoi utilizzare la guida di Android ai tipi di dati per stabilire quale tipo di dati descrive meglio i dati raccolti. Nell'informativa sui dati, assicurati anche di tenere conto del modo in cui la tua app specifica condivide e utilizza i dati raccolti.
L'SDK dei tipi di dati accede e raccoglie
Pacchetti:
com.google.android.gms:play-services-afs-native
com.google.ads.afsn
Dati raccolti automaticamente
L'SDK AFS raccoglie automaticamente i seguenti dati. Tutti i dati vengono trasmessi a Google dall'esterno del dispositivo allo scopo di pubblicare annunci e vengono criptati in transito. Le informazioni personali dell'utente non vengono mai raccolte, a meno che non vengano inviate in una query dell'utente dalla tua app.
Dati | Questi dati vengono raccolti per le seguenti finalità... |
---|---|
Indirizzo IP |
Riepilogo:
.
L'indirizzo IP viene utilizzato per il monitoraggio di attività fraudolente e abusi, nonché per ricavarne la posizione approssimativa dell'utente. La posizione approssimativa viene quindi utilizzata per garantire che gli annunci pubblicati siano conformi alle normative locali e per pubblicare annunci pertinenti alla posizione geografica approssimativa dell'utente. |
Attività nelle app
|
Riepilogo:
.
L'app fornisce la query dell'utente per consentirci di restituire gli annunci della rete di ricerca pertinenti alla parola chiave. Misuriamo le visualizzazioni e il coinvolgimento (tocchi) con gli annunci restituiti. |
Diagnostica |
Riepilogo:
.
L'SDK misura la latenza del rendering degli annunci per consentire l'implementazione e la misurazione dei miglioramenti del prodotto. Inviamo anche report su arresti anomali/errori e occasionalmente aggiungiamo altra strumentazione, se necessario, per capire come le funzionalità vengono utilizzate dai publisher. |
Identificatori del dispositivo o altri identificatori |
Riepilogo:
.
L'ID dispositivo viene utilizzato per facilitare il monitoraggio di attività fraudolente e abusi, nonché per la misurazione del rendimento degli annunci. |