Wymagania wstępne
W tym przewodniku po implementacji zakładamy, że znasz te zagadnienia:
- Implementacja reklam AdSense w wyszukiwarce niestandardowej (CSA) protokół
- Tworzenie aplikacji na Androida
- Powiązanie reklam mobilnych Google SDK na Androida (obecnie część Usług Google Play) za pomocą projektu Android Studio. Wymagana jest wersja 9.0.0 Usług Google Play.
Zajęcia
Aby wyświetlać w aplikacji reklamy AdSense dla wyszukiwaniaMA (nazywane też dynamicznymi reklamami na wysokości w wyszukiwarce): zastosuj następujące klasy:
- Ta klasa dziedziczy z klasy
ViewGroup
na Androidzie i wyświetla reklamy AdSense dla wyszukiwania.SearchAdView
wysyła żądanie reklamy z tagiemDynamicHeightSearchAdRequest
i wyrenderuje zwrócone reklamy. ElementSearchAdView
należy dodać do dowolnej z istniejących grup widoków aplikacji. - Wystąpienie
SearchAdView
musi być utworzone z kontekstem których używaSearchAdView
, zwykleActivity
. - Po utworzeniu wystąpienia
SearchAdView
musisz wywołać metodęsetAdSize()
za pomocąAdSize.SEARCH
, aby wysyłać żądania reklam AdSense dla wyszukiwania. Inne wartości typu enum będą wysyłać żądania reklam niezgodnych z AdSense dla wyszukiwania do aplikacji mobilnych. - Wywołaj metodę
setAdUnitId()
w tym obiekcie za pomocą kodu właściwości.
DynamicHeightSearchAdRequest.Builder
- Ta klasa zawiera parametry żądania reklamy. Jest to analogiczne do ustawiania parametrów w obiektach żądań reklamy JavaScript. (opcje strony, opcje jednostki) w AdSense dla wyszukiwania w przeglądarce na komputery i w przeglądarce mobilnej.
- Ustaw parametry za pomocą odpowiednich ustawień (innymi słowy
wywołaj
setQuery()
, by ustawić parametr zapytania).
Przykładowa implementacja
Poniższy przykład pokazuje użycie Activity
do utworzenia SearchAdView
.
jako widok podrzędny ViewGroup
. Aby prawidłowo wysyłać żądania reklam AdSense dla wyszukiwania, SearchAdView
obiekt musi wywoływać metodę setAdSize()
z 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
...
W obrębie tego samego elementu Activity
utwórz element DynamicHeightSearchAdRequest.Builder
, który
określa parametry reklamy, które będą renderowane w elemencie SearchAdView
.
Reklamy AdSense dla wyszukiwania nie są skonfigurowane tak samo jak reklamy AdSense dla wyszukiwania w wyszukiwarce niestandardowej.
zobacz reklamy AdSense dla wyszukiwania
Źródła wiedzy
.
// 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);
Inne opcje dostosowania są dostępne po ustawieniu dodatkowych właściwości na
DynamicHeightSearchAdRequest.Builder
obiektu.
Aby wysłać żądanie reklamy, wywołaj metodę loadAd()
z parametrem
Obiekt DynamicHeightSearchAdRequest.Builder
z obiektu SearchAdView
:
searchAdView.loadAd(builder.build());
Opcje zaawansowane
Większość parametrów żądania reklamy można ustawić za pomocą metod ustawiania
na obiekcie DynamicHeightSearchAdRequest.Builder
.
Wszystkie parametry, które nie mają metody ustawiającej w
DynamicHeightSearchAdRequest.Builder
można ustawić za pomocą par klucz-wartość z
setAdvancedOptionValue()
.
.
Zobacz reklamy AdSense dla wyszukiwania w wyszukiwarce niestandardowej
Źródła wiedzy
zawiera pełną listę ustawień, które można skonfigurować
setAdvancedOptionValue()
.
Parametr klucza musi mieć prefiks „csa_” , aby zapewnić prawidłowe ustawienie właściwości.
// 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");
Jeśli użyjesz metody ustawiania parametru i ustawisz ją za pomocą setAdvancedOptionValue
,
drugie wywołanie zastąpi wartość z pierwszego wywołania.
Badanie błędów
SearchAdView
(tutaj searchAdView
) zawiera metodę setAdListener()
aby ułatwić analizę błędów. W tym samym okresie (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);
}
});
Stałe używane w metodzie wywołania zwrotnego onAdFailedToLoad()
są opisane w interfejsie API
odwołania.
Przygotowanie do wymagań Google Play dotyczących ujawniania danych
W maju 2021 roku w Google Play pojawiła się nowa sekcja Bezpieczeństwo danych z pochodzącymi od deweloperów informacjami dotyczącymi zbierania, udostępniania i zabezpieczania danych użytkowników przez aplikacje.
Ta strona pomoże Ci spełnić wymagania dotyczące ujawniania danych w odniesieniu do korzystania z natywnego pakietu SDK AdSense dla wyszukiwania (dotyczy to też AdSense dla Zakupów Google). Na tej stronie znajdziesz informacje o tym, czy nasze pakiety SDK obsługują dane użytkowników, a jeśli tak, to w jaki sposób.
Staramy się wspierać Twoją firmę w najbardziej przejrzysty sposób. Jednak jako deweloper aplikacji ponosisz wyłączną odpowiedzialność za podjęcie decyzji o sposobie odpowiedzi w formularzu sekcji Bezpieczeństwo danych w Google Play w odniesieniu do zbierania, udostępniania i zabezpieczania danych użytkowników przez Twoją aplikację.
Jak korzystać z informacji na tej stronie
Ta strona zawiera listę danych użytkowników, które są zbierane tylko przez najnowszą wersję pakietu SDK.
Aby uzupełnić informacje o zbieraniu danych, możesz skorzystać z przewodnika po typach danych na Androidzie, który pomoże Ci określić, który typ danych najlepiej opisuje zbierane dane. W oświadczeniu o korzystaniu z danych musisz uwzględnić sposób udostępniania i wykorzystywania zgromadzonych danych przez aplikację.
Pakiet SDK typu danych uzyskuje dostęp do danych i je zbiera
Pakiety:
com.google.android.gms:play-services-afs-native
com.google.ads.afsn
Dane zbierane automatycznie
Pakiet SDK AdSense dla wyszukiwania automatycznie zbiera poniższe dane. Wszystkie dane są przesyłane z urządzenia do Google na potrzeby wyświetlania reklam, a wszystkie dane są szyfrowane podczas przesyłania. Dane osobowe użytkownika nigdy nie są zbierane, chyba że Twoja aplikacja wysyła je w zapytaniu.
Dane | Te dane są zbierane w następujących celach... |
---|---|
Adres IP |
Podsumowanie:
Adres IP jest używany do monitorowania oszustw i nadużyć oraz ustalania przybliżonej lokalizacji użytkownika. Następnie używamy przybliżonej lokalizacji, aby mieć pewność, że wyświetlane reklamy są zgodne z lokalnymi przepisami, i wyświetlać reklamy dopasowane do przybliżonej lokalizacji geograficznej użytkownika. |
Aktywność w aplikacjach
|
Podsumowanie:
Aplikacja przekazuje zapytanie użytkownika, co pozwala nam wyświetlać reklamy w wyszukiwarce odpowiednie do słowa kluczowego. Mierzymy wyświetlenia i zaangażowanie (kliknięcia) dla zwróconych reklam. |
Diagnostyka |
Podsumowanie:
Pakiet SDK mierzy czas oczekiwania na renderowanie reklam, aby umożliwiać wdrażanie i mierzenie ulepszeń usługi. Wysyłamy też raporty o awariach i błędach, a w razie potrzeby dodajemy inne narzędzia, aby lepiej zrozumieć, w jaki sposób wydawcy korzystają z tych funkcji. |
Identyfikatory urządzeń i inne |
Podsumowanie:
Identyfikator urządzenia pomaga monitorować oszustwa i nadużycia, a także mierzyć skuteczność reklam. |