Vorbereitung
In diesem Implementierungsleitfaden wird davon ausgegangen, dass Sie mit Folgendem vertraut sind:
- Implementierung von benutzerdefinierten Suchanzeigen (AFS) Protokoll
- Android-App-Entwicklung
- Google Mobile Anzeigen verknüpfen SDK für Android (jetzt Teil der Google Play-Dienste) mit einem Android Studio-Projekt verknüpfen. Version 9.0.0 der Google Play-Dienste ist erforderlich.
Klassen
Um AFSMA-Anzeigen (auch bekannt als Suchanzeigen mit dynamischer Höhe) in Ihrer App zu schalten, implementieren Sie die folgenden Klassen:
- Diese Klasse übernimmt die Android-Klasse
ViewGroup
und die AFSMA-Anzeigen.SearchAdView
sendet die Anfrage für eine Anzeige mit einemDynamicHeightSearchAdRequest
und rendert die zurückgegebenen Anzeigen. Das Element „SearchAdView
“ sollte einer vorhandenen Datenansichtsgruppe der App hinzugefügt werden. SearchAdView
muss mit dem Kontext instanziiert werden in dem dieSearchAdView
ausgeführt wird, normalerweise einActivity
.- Sobald die
SearchAdView
instanziiert wurde, müssen Sie diesetAdSize()
-Methode aufrufen mitAdSize.SEARCH
, um AFSMA-Anzeigen anzufordern. Bei anderen enum-Werten werden Anzeigen angefordert, die nicht mit AFS für mobile Apps kompatibel sind. - Rufen Sie die Methode
setAdUnitId()
für dieses Objekt mit Ihrem Property-Code auf.
DynamicHeightSearchAdRequest.Builder
- Diese Klasse schließt die Anzeigenanfrageparameter ein. Dies erfolgt analog zum Festlegen von Parametern in den JavaScript-Anzeigenanfrageobjekten. (Seitenoptionen, Anzeigenblockoptionen) für AFS (Desktop- und mobiles Web).
- Legen Sie Parameter mit den entsprechenden Settern fest (in anderen Worten:
setQuery()
aufrufen, um den Suchparameter festzulegen.
Beispielimplementierung
Das folgende Beispiel zeigt, wie ein Activity
zum Erstellen eines SearchAdView
verwendet wird.
als Unteransicht von ViewGroup
. Damit AFSMA-Anzeigen ordnungsgemäß angefordert werden, muss die SearchAdView
-Objekt die setAdSize()
-Methode mit AdSize.SEARCH
aufrufen muss.
// 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
...
Erstellen Sie im selben Activity
einen DynamicHeightSearchAdRequest.Builder
, der
legt die Parameter der Anzeige fest, die im SearchAdView
gerendert wird.
AFSMA-Anzeigen werden genauso konfiguriert wie benutzerdefinierte AFSMA-Anzeigen für Suchergebnisseiten.
Benutzerdefinierte AFS-Suchanzeigen aufrufen
Referenz
.
// 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);
Weitere Anpassungsoptionen sind möglich, wenn Sie zusätzliche Eigenschaften auf der
DynamicHeightSearchAdRequest.Builder
-Objekt enthält.
Um eine Anzeigenanfrage zu stellen, rufen Sie die Methode loadAd()
mit dem Parameter
DynamicHeightSearchAdRequest.Builder
-Objekt vom SearchAdView
-Objekt:
searchAdView.loadAd(builder.build());
Erweiterte Optionen
Die meisten Parameter für Anzeigenanfragen können über Setter-Methoden festgelegt werden.
für das DynamicHeightSearchAdRequest.Builder
-Objekt.
Alle Parameter, die keine Setter-Methode in
DynamicHeightSearchAdRequest.Builder
kann mithilfe von Schlüssel/Wert-Paaren mit der Methode
setAdvancedOptionValue()
.
Benutzerdefinierte AFS-Suchanzeigen aufrufen
Referenz
finden Sie eine vollständige Liste der Einstellungen, die mit dem
setAdvancedOptionValue()
-Methode.
Dem Schlüsselparameter muss das Präfix „csa_“ vorangestellt werden damit die Eigenschaft richtig festgelegt ist.
// 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");
Wenn Sie die Setter-Methode eines Parameters verwenden und sie mit setAdvancedOptionValue
festlegen,
überschreibt den Wert aus dem ersten Aufruf.
Fehler untersuchen
Die SearchAdView
(searchAdView
hier) enthält eine setAdListener()
-Methode
um Fehler zu untersuchen. Innerhalb derselben 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);
}
});
In der Callback-Methode onAdFailedToLoad()
verwendete Konstanten
sind in der API
Referenz.
Auf die Offenlegungspflichten für Daten bei Google Play vorbereiten
Im Mai 2021 haben wir den neuen Abschnitt zur Datensicherheit in Google Play angekündigt. In diesem Abschnitt werden die Verfahren der Entwickler zur Erhebung, Weitergabe und Sicherheit von Daten in einer App beschrieben.
Auf dieser Seite finden Sie Informationen zur Offenlegung der Daten in Bezug auf die Nutzung des AFS Native SDK (gilt auch für AdSense für Shopping). Auf dieser Seite finden Sie Informationen dazu, ob und wie unsere SDKs mit Endnutzerdaten umgehen.
Wir möchten Sie so transparent wie möglich unterstützen. Sie als App-Entwickler entscheiden jedoch selbst, wie Sie das Formular für den Abschnitt zur Datensicherheit von Google Play in Bezug auf die Erhebung, Weitergabe und den Schutz Ihrer Daten durch Ihre App ausfüllen.
So verwenden Sie die Informationen auf dieser Seite
Auf dieser Seite werden die Endnutzerdaten aufgeführt, die nur von der neuesten SDK-Version erhoben werden.
Im Android-Leitfaden zu Datentypen können Sie nachlesen, welcher Datentyp am ehesten auf die erhobenen Daten zutrifft. Geben Sie außerdem an, wie in Ihrer App die erhobenen Daten weitergegeben und verwendet werden.
Datentyp, auf den das SDK zugreift und den es erhebt
Pakete:
com.google.android.gms:play-services-afs-native
com.google.ads.afsn
Automatisch erfasste Daten
Das AFS SDK erfasst die folgenden Daten automatisch. Alle Daten werden zum Schalten von Anzeigen vom Gerät an Google übertragen und alle Daten werden bei der Übertragung verschlüsselt. Personenbezogene Daten des Nutzers werden niemals erhoben, es sei denn, sie werden im Rahmen einer Nutzeranfrage von Ihrer App gesendet.
Daten | Diese Daten werden für folgende Zwecke erhoben... |
---|---|
IP-Adresse |
<ph type="x-smartling-placeholder"></ph>
Zusammenfassung:
<ph type="x-smartling-placeholder">
Die IP-Adresse wird zur Überwachung von Betrug und Missbrauch sowie zur Ermittlung des ungefähren Standorts des Nutzers verwendet. Der ungefähre Standort wird dann verwendet, um sicherzustellen, dass die Anzeigenbereitstellung den lokalen Vorschriften entspricht, und um Anzeigen auszuliefern, die für den ungefähren geografischen Standort eines Nutzers relevant sind. |
App-Aktivitäten
<ph type="x-smartling-placeholder">
|
<ph type="x-smartling-placeholder"></ph>
Zusammenfassung:
<ph type="x-smartling-placeholder">
Ihre App übermittelt uns die Suchanfrage des Nutzers, damit wir Suchanzeigen zurückgeben können, die für das Keyword relevant sind. Wir messen die Aufrufe und das Engagement (Tippen) mit den zurückgegebenen Anzeigen. |
Diagnose |
<ph type="x-smartling-placeholder"></ph>
Zusammenfassung:
<ph type="x-smartling-placeholder">
Mit dem SDK wird die Rendering-Latenz für Anzeigen gemessen, damit Produktverbesserungen implementiert und gemessen werden können. Außerdem senden wir Absturzberichte und fügen gelegentlich weitere Instrumente hinzu, um zu verstehen, wie die Funktionen von Publishern verwendet werden. |
Geräte-ID oder andere Kennungen |
<ph type="x-smartling-placeholder"></ph>
Zusammenfassung:
<ph type="x-smartling-placeholder">
Die Geräte-ID wird zur Überwachung von Betrug und Missbrauch sowie zur Messung der Anzeigenleistung verwendet. |