2016-01-17 63 views
11

Szukałem w Internecie, ale nie miałem szczęścia do tej pory w swoich badaniach, skonfigurowałem admobs w mojej aplikacji na Androida i teraz chcę wyświetlać tylko odpowiednie reklamy w oparciu o słowo kluczowe, które zestaw. Moja aplikacja jest oparta na zabawkach, więc chcę tylko reklamy związane z zabawkami, aby pokazaćNiestandardowe reklamy w androidowym studiu admobila na podstawie słowa kluczowego

AdRequest adRequest = new AdRequest.Builder().build(); 
adView.loadAd(adRequest); 

Patrząc na to: Admob ad on custom Dialog

Ta osoba korzystała:

AdRequest request = new AdRequest(); 
     Set<String> keywords = new HashSet<String>(); 
     keywords.add("game"); 
     request.setKeywords(keywords); 

Jednak nie robi praca.

+0

Co nie działa w tym kodzie? Kiedy patrzysz na logcat, widzisz "grę"? – Gavriel

+0

Nie zapewnia żadnego błędu, ale kiedy używam tego kodu i ustawiam słowo kluczowe, na przykład na zabawki, nie wyświetlają się reklamy związane tylko z zabawkami, ale zamiast tego reklamy są normalne (losowe), jak było wcześniej. – Henry

Odpowiedz

6

myślę, że trzeba to:

AdRequest request = new AdRequest.Builder() 
.addKeyword("game").build(); 
.adView.loadAd(request); 

Można spróbować z tym, ale oto kilka przykładów, może znajdziesz to, czego potrzebujesz allso:

1.Test reklamy

Skonfiguruj reklamy testowe, przekazując swój skrócony identyfikator urządzenia do AdRequest.Builder.addTestDevice:

AdRequest request = new AdRequest.Builder() 
.addTestDevice(AdRequest.DEVICE_ID_EMULATOR)  // All emulators 
.addTestDevice("AC98C820A50B4AD8A2106EDE96FB87D4") // An example device ID 
.build(); 

2.Location

Lokalizacja kierowania informacje mogą być również określone w AdRequest:

AdRequest request = new AdRequest.Builder() 
.setLocation(location) 
.build(); 

3.Płeć

Jeśli Twoja aplikacja zna już płeć użytkownika, może podać te informacje w żądaniu reklamy do celów kierowania. Informacje są również przekazywane do adapterów mediacji sieci reklamowych, jeśli włączona jest mediacja.

AdRequest request = new AdRequest.Builder() 
.setGender(AdRequest.GENDER_FEMALE) 
.build(); 

4.Birthday

Jeśli aplikacja już wie urodziny użytkownika, może postanowić, że wszystkie informacje zawarte w żądaniu reklamy dla celów kierowania. Ta informacja jest również przekazywana do adapterów mediacji sieci reklamowych, jeśli włączona jest mediacja.

AdRequest request = new AdRequest.Builder() 
.setBirthday(new GregorianCalendar(1985, 1, 1).getTime()) 
.build(); 

5.Designed dla rodzin ustawień

Jeśli zgłosiłeś swoją aplikację w Google Play do programu Designed for Families i wyświetlać reklamy w aplikacji, należy upewnić się, te reklamy są zgodne z Wymagania programu i zasad reklamowych w programie Designed for Families.

żądania reklam mogą być oznaczone jako przeznaczone do rodzin poprzez ustawienie parametru is_designed_for_families true w dodatkami:

Bundle extras = new Bundle(); 
extras.putBoolean("is_designed_for_families", true); 

AdRequest request = new AdRequest.Builder() 
    .addNetworkExtrasBundle(AdMobAdapter.class, extras) 
    .build(); 

6.Child skierowane ustawienie

Dla celów Dziecięcego Online Privacy Ustawa o ochronie (COPPA), istnieje ustawienie o nazwie "znacznik do leczenia ukierunkowanego na dziecko".

Jako programista aplikacji możesz określić, czy Google ma traktować Twoją treść jako skierowaną do dzieci, gdy wysyłasz żądanie reklamy. Jeśli zaznaczysz, że chcesz, aby firma Google traktowała Twoje treści jako skierowane do dzieci, podejmiemy kroki, aby wyłączyć reklamy IBA i reklamy remarketingowe w tym żądaniu reklamy. Ustawienie może być używany ze wszystkimi wersjami Google Play SDK, poprzez AdRequest.Builder.tagForChildDirectedTreatment(boolean):

Jeśli ustawisz tagForChildDirectedTreatment do true, można wskazać, że treść powinna być traktowana jako skierowaną do dzieci dla celów COPPA. Jeśli ustawisz tagForChildDirectedTreatment na false, będziesz wskazywać, że twoje treści nie powinny być traktowane jako skierowane do dzieci w celu COPPA. Jeśli nie ustawisz tagForChildDirectedTreatment, żądania reklam nie będą zawierać żadnych informacji o tym, w jaki sposób chcesz traktować treść w odniesieniu do COPPA.

AdRequest request = new AdRequest.Builder() .tagForChildDirectedTreatment(true) .build(); 

Ustawiając ten tag, poświadczasz, że to powiadomienie jest prawidłowe i masz upoważnienie do działania w imieniu właściciela aplikacji. Rozumiesz, że nadużycie tego ustawienia może spowodować zamknięcie Twojego konta Google.

7.Keyword

Dodaj słowo kluczowe na potrzeby kierowania.

AdRequest request = new AdRequest.Builder() .addKeyword(someKeyword) .build(); 

Ładowanie reklamy z kierowania

Gdy żądanie informacji skierowane jest ustawiony, zadzwoń loadAd na adview z AdRequest instancji.

AdRequest request = new AdRequest.Builder() 
.setLocation(location) 
.setGender(AdRequest.GENDER_FEMALE) 
.setBirthday(new GregorianCalendar(1985, 1, 1).getTime()) 
.tagForChildDirectedTreatment(true) 
.addKeyword("game") 
.build(); 
adView.loadAd(request); 

Dodatkowe informacje można znaleźć na this link.

+0

To doskonała informacja. Czy przypadkiem nie wiesz, jak zastosować te dodatkowe parametry podczas pośredniczenia przez MoPub? (Bez zmiany adaptera - chcesz zrobić to ogólnie dla wszystkich zapośredniczonych sieci reklamowych). Specjalnie (przeznaczone do tragetowania rodzinnego i dziecięcego) – AndroidMechanic

1

Można spróbować zrobić to:

AdRequest.Builder builder = new AdRequest.Builder() 
     .addKeyword("game"); 

Teraz można budować adrequest.

+0

Witam, przepraszam Jestem całkiem nowy, czy muszę dodać coś innego do tego kodu lub czy jest to kompletne? – Henry

+0

Spróbuj tego: 'AdRequest.Builder builder = new AdRequest.Builder(). AddKeyword ("gra"); builder.setRequestAgent ("gra"); doesn; t nie daje żadnego błędu, ale nie wyświetla reklam w oparciu o gry, jego losowe reklamy. – Henry

+0

Cześć przepraszam za spóźnioną odpowiedź. Musisz utworzyć nowe żądanie: AdRequest request = builder.build(); Myślę, że to powinno działać. –

2

Po wykonaniu niektórych badań nie wygląda na to, że słowa kluczowe są obsługiwane.

Odnotowano various questions nad years że wszyscy mają same answer:

documentation for targeting ads nie zawiera żadnych informacji o użyciu słów kluczowych.

Możesz dodać słowa kluczowe do swojej AdRequest przy użyciu addKeyword(String keyword) w AdRequest.Builder, która jest udokumentowana here. Przykładowa rozmowa wygląda następująco:

AdRequest adRequest = new AdRequest.Builder().addKeyword("game").build(); 
adView.loadAd(adRequest); 

Jednak, jak stwierdzono powyżej - nie wygląda na to, że te słowa kluczowe są używane w zapleczu.

Strona pomocy AdMob pokazuje, że istnieją trzy sposoby: advertisers can choose to target their ads - kontekst (słowa kluczowe, prawdopodobnie domniemane, a nie jawne), miejsce docelowe i zainteresowanie.

Możesz filtrować poza swoją aplikację przez allowing and blocking ads, a jeśli naprawdę chcesz wyświetlać reklamy związane z zabawkami, musisz zablokować wszystko oprócz kategorii zabawek pokazanej w general category list.

0

zgodnie z dokumentacją, aby dodać słowo kluczowe do celów kierowania. Możesz użyć tego pojedynczego kodu linii. public AdRequest.Builder addKeyword (słowo kluczowe String)