3 Stimmen

Erste Schritte mit admob für Android - verwirrt über die Dokumentation

Ich habe gerade damit begonnen, Admob-Anzeigen in die Android-App zu integrieren, die ich gerade aufbaue. Bislang ohne Erfolg. Ich bin dem Beispiel in der Datei AdMod_Android_SDK_Instructions.pdf gefolgt, die ich von der adMob-Website heruntergeladen habe, aber ich bin verwirrt. Auf Seite 7 sehe ich, dass sich die Import-Anweisungen auf das Paket com.admob.Android.ads beziehen - aber in dem SDK, das ich heruntergeladen habe, ist das Paket com.google.ads - ist das ein Überbleibsel aus der Zeit, bevor Google admob übernommen hat? Dann wird die Methode a aufgerufen dView.requestFreshAd() ; - die im aktuellen Code nicht vorhanden ist. Kann mir bitte jemand mit einem Code helfen, der tatsächlich funktioniert? Meine spezifischen Fehler aus logcat sind:

AdView fehlt das erforderliche XML-Attribut adUnitId.

... dann, nachdem ich angerufen habe adView.loadAd(new AdRequest()) ; ich bekomme:

Invalid unknown request error: Cannot determine request type.  Is your ad unit Id correct?
onFailedToReceiveAd(Invalid Google Ad request).

Für jede Hilfe bin ich sehr dankbar! Danke!

12voto

Snicolas Punkte 37333

Ab 4.1.0,

mob1lejunkie hat vollkommen recht, Sie können die

  • attrs.xml
  • Hintergrund, primäre Textfarbe, sekundäre Textfarbe (und definieren Sie sie auf der Admob-Website auf der Registerkarte "Einstellungen verwalten" Ihrer App)
  • Entfernen Sie den Namensraum xmlns:myapp aus dem Hauptlayout in Ihrer Xml-Datei und ersetzen Sie ihn durch xmlns:ads (Vorsicht! Der neue xmlns befindet sich nicht in /apk/res, sondern in apk/lib)
  • Ändern Sie den Namensraum von adUnitID und adSize im adView-Xml-Snippet

Hier ist ein funktionierendes Xml-Snippet mit Admob 4.1.0:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="fill_parent"
xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads">

    <com.google.ads.AdView android:id="@+id/ad"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        ads:adUnitId="a14d7f7d2180609"
        ads:adSize="BANNER" />
</RelativeLayout>

Ist es nicht ein bisschen leicht von Google, Entwickler zu bitten, einen neuen Code zu setzen und eine Librairy zu verwenden, die noch nicht von Google selbst dokumentiert ist? Das erinnert mich an das adwhirl-Abenteuer...

Trotzdem muss ich sagen, dass ich froh bin, dass Google das eingeführt hat und die attrs.xml entfernt hat. Es ist viel einfacher, admob mit Projektvererbung in Android zu verwenden.

In Bezug auf die Verwendung mehrerer Adviews in einem Projekt ist zu beachten, dass es mit dieser Version nun möglich ist, die Admob-ID in der strings.xml-Datei der Anwendung hinzuzufügen, wie in diesem Thread gefordert: http://groups.google.com/group/google-admob-ads-sdk/browse_thread/thread/c57917b4491a0c1

Fügen Sie es einfach so in Ihre xml-Layouts für alle Ihre Anzeigenansichten ein:

ads:adUnitId="@string/admob_unit_id"

und dann

<string name="admob_unit_id">a14d7f7d2180609</string>

in Ihrer Datei strings.xml und allen anderen lokalisierten Versionen dieser Datei. So haben Sie eine zentrale Stelle, an der Sie Ihre Admob-ID in allen Ihren Ansichten eingeben können.

In der Tat eine großartige Veröffentlichung.

Grußworte, Steff

2voto

mob1lejunkie Punkte 935

Ich hatte das gleiche Problem mit 4.1.0 und es stellte sich heraus Die Admob-Dokumentation (Stand: 15. Mai) ist veraltet.

attrs.xml wird nicht mehr benötigt und der Namensraum im Layout muss

xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads

besser als der alte

xmlns:ads="http://schemas.android.com/apk/res/com.your.packagename

1voto

SteD Punkte 13651

Die PDF-Datei ist anscheinend veraltet.

Versuchen Sie zu lesen Google AdMob-Anzeigen Android-Grundlagen

1voto

ktambascio Punkte 434

Diese Seite hat mir bei der Platzierung einer Anzeige im XML-Layout geholfen: http://code.google.com/mobile/ads/docs/Android/banner_xml.html

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X