2013-10-31 4 views
11

Mit der October update of the Google Play Services wurde AdMob in die Bibliothek integriert, was bedeutet, dass Android-Entwickler die GoogleAdMobAdsSdk-x.x.x.jar nicht mehr in den Ordner libs eines Projekts einfügen müssen. Es gibt eine nette migration guide, die erklärt, wie man von com.google.ads.* zu com.google.android.gms.ads.* migriert.Wie wird der Standort mit einem AdRequest bereitgestellt, nachdem AdMob Teil der Google Play Services geworden ist?

So weit, so gut. Migrieren ist ein Stück Kuchen, aber ... Es gibt immer ein "aber".

Zuvor wurde com.google.ads.AdRequest verwendet, um eine setLocation(Location)-Methode zu haben, mit der Sie die Targeting-Informationen erweitern können. Diese Option ist in com.google.android.gms.ads.AdRequest und in der Builder-Klasse nicht mehr verfügbar.

Ich nehme an, meine Fragen sind: Wo und warum ist es gelaufen? Die , wo ist wahrscheinlich leicht beantwortet, weil es einfach scheint, entfernt worden zu sein. Ich würde mich freuen, wenn mir jemand hier etwas vormacht, also könntest du mich gerne kommentieren, wenn ich etwas übersehen habe. Das lässt die warum.

Im Moment kann ich nur als spekulieren, warum es entfernt wurde:

  • Es wurde übersehen, wenn AdMob Refactoring war ein Teil der Google-Services zu werden spielen.
  • Aus Datenschutzgründen hat Google beschlossen, diese Funktion nicht mehr zu unterstützen.
  • Da AdMob jetzt Teil der Google Play-Dienste ist, integriert es sich möglicherweise in seine Location API (d. H. Den Fused Location Provider) und liefert automatisch Standortinformationen, sofern verfügbar?

Die erste Option scheint unwahrscheinlich, während die zweite wäre verständlich. Nicht sicher über die dritte, aber unter Berücksichtigung der Auswirkungen auf die Privatsphäre, auch nicht sehr wahrscheinlich. Gibt es irgendeine Chance, dass jemand eine schlüssige Antwort auf die Sache geben kann oder vielleicht auf eine verlässliche Quelle verweist?


Hinweis: Ja, ich bin mir dessen bewusst die folgende Bemerkung in der Dokumentation:

Aus Respekt für die Privatsphäre der Nutzer, fragt Google, dass Sie nur Speicherort angeben und demografische Daten, wenn diese Informationen wird bereits von Ihrer App verwendet.

Die App, für die dieses Problem aufgetreten ist, ist bereits standortabhängig. In der Tat ist es ein ziemlich wichtiger Aspekt der App. Da der Standort des Nutzers bereits von der App verwendet wird, war die Bereitstellung der Anzeigenanfrage bisher ein gültiger Anwendungsfall.


aktualisieren:

Mit dem 9 January blog post on the upcoming Google Play Services 4.1 update gibt es eine Erwähnung Lage Targeting durch eine neue API wieder eingeführt werden:

Google Mobile Ads
Mit Google Play Dienstleistungen 4.1, das Google Mobile Ads SDK unterstützt jetzt vollständig DoubleClick for Publishers, DoubleClick Ad Exchange und Suchanzeigen für mobile Apps. Sie können auch eine neue vom Publisher bereitgestellte Standort-API verwenden, um Google den Standort bei der Anforderung von Anzeigen bereitzustellen. Standortbasierte Anzeigen können Ihre App verbessern Monetarisierung.

Zur Zeit habe ich keine aktualisierte Dokumentation zu dieser neuen API gefunden, aber würde erwarten, dass es sehr bald verfügbar werden - sobald Einführung von Google 4.1 Play-Diensten abgeschlossen sind. Bis dahin werde ich meine erste Antwort unten als Referenz aufbewahren.

Google hat nun die Android-Dokumentation zu den neuen Funktionen aktualisiert. Siehe akzeptierte Antwort unten.

Antwort

4

Schluss Update:

Google hat endlich die Android-Dokumentation aktualisiert, um den neuen Publisher bereitgestellten Standort API enthalten. Es überrascht nicht, diese in die Erbauer geklebt und so ziemlich identisch, wie die Dinge arbeitete zuvor:

AdRequest.Builder.setLocation(Location)

Die Antwort unten ist für pädagogische Zwecke gehalten; Wenn Sie Ihre Frage oben beantwortet haben, brauchen Sie nicht weiter zu suchen.


Update: Es erscheint Lage Targeting wird durch eine neue API in Google 4.1 Play-Dienste wieder aktiviert werden. Siehe Update auf die ursprüngliche Frage für weitere Details.


Für einen Mangel an Antworten, werde ich diese kurze Analyse vorläufig aufstellen. Ich habe mir kurz das alte AdMob SDK und die neuen Google Play-Dienste angesehen, um weitere Informationen zu erhalten.

Hier sind meine bisherigen Ergebnisse, in einer kleinen Tabelle umrissen. Im Grunde gibt es einen Vergleich der verschiedenen Schlüssel-Wert-Paare, die mit einem AdRequest gesendet werden.

Admob SDK:      | Google Play Services: 
--------------------------------|-------------------------------- 
map.put("kw", ...);   | map.put("kw", ...); 
map.put("cust_gender", ...); | map.put("cust_gender", ...); 
map.put("cust_age", ...);  | map.put("cust_age", ...); 
map.put("uule", ...);   | 
map.put("testing", ...);  | 
map.put("pto", ...);   | 
map.put("cipa", ...);   | 
map.put("adtest", ...);  | map.put("adtest", ...); 
map.put("extras", ...);  | map.put("extras", ...); 
           | map.put("tag_for_child_directed_treatment", ...); 
--------------------------------|-------------------------------- 

Legend: 
* kw = keyword 
* cust_gender = gender 
* cust_age = birthday 
* uule = location 
* testing = testing 
* pto/cipa = plus one opt out 
* adtest = is test device 
* extras = extras 

Im alten AdMob SDK, die uule Schlüssel wird verwendet, um einen Ort zu binden. Leider ist das in den Google Play-Diensten nicht zu finden. Das legt nahe, dass die dritte Spekulation in meiner ursprünglichen Frage höchstwahrscheinlich nicht der Fall ist. In gewisser Weise würde das Sinn machen, denn das wäre definitiv etwas, das irgendwo dokumentiert worden wäre, einfach wegen der Änderung der erforderlichen Berechtigungen.

Ich bin auch geneigt zu sagen, dass die Standortfunktion nicht übersehen wurde. Es ist nicht der einzige fehlende Schlüssel, aber die meisten anderen Mainstreams sind da, wie Alter, Geschlecht, Keyword usw. Stattdessen beginne ich zu glauben, dass es absichtlich weggelassen wurde, und lehne Unterstützung dafür ab. Wenn ich eine Vermutung wagen würde, dann liegt das wahrscheinlich an Datenschutzbedenken.

Wenn jemand (insbesondere jemand von Google) dies bestätigen könnte, wäre das großartig. Auch, wenn Sie etwas finden, das diesen Ergebnissen widerspricht, hinterlassen Sie auf jeden Fall einen Kommentar. Ich bin froh, dass ich mich als falsch erwiesen habe.