Ich versuche, Anzeigen mit AdMob zu schalten, um Anzeigen am unteren Bildschirmrand anzuzeigen.

Ich habe die folgende Zeile in meine build.gradle-Datei eingefügt, um AdMob sdk zu erhalten:

compile 'com.google.android.gms:play-services-ads:8.4.0'

Danach habe ich AdView in XML hinzugefügt, um Anzeigen zu schalten:

<com.google.android.gms.ads.AdView
        android:id="@+id/ad_view"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_alignParentBottom="true"
        app:adSize="BANNER"
        android:layout_gravity="bottom"
        app:adUnitId="@string/banner_ad_unit_id" />

Jetzt verweise ich mit der Adview-ID auf AdView und erstelle AdRequest, um Anzeigen mit den folgenden Codezeilen anzufordern:

AdView mAdView = (AdView) findViewById(R.id.ad_view);
final AdRequest adRequest = new AdRequest.Builder()
//  .addTestDevice("38C0F116926519A0CBAF1094898921FB")
    .build();

if (mAdView != null)
    mAdView.loadAd(adRequest);

Alles funktioniert einwandfrei, wenn ich die Funktion addTestDevice auskommentiere, aber wenn ich versuche, echte Anzeigen anzuzeigen, wird in logcat der folgende Fehler angezeigt:

12-23 17:18:02.234 13226-13226/com.abc.xyz I/Ads: Starting ad request.
12-23 17:18:02.234 13226-13226/com.abc.xyz I/Ads: Use AdRequest.Builder.addTestDevice("38C0F116926519A0CBAF1094898921FB") to get test ads on this device.
12-23 17:18:02.554 13226-13226/com.abc.xyz I/Timeline: Timeline: Activity_idle id: android.os.BinderProxy@42dd86b8 time:83516183
12-23 17:18:05.694 13226-13226/com.abc.xyz D/EgretLoader: EgretLoader(Context context)
12-23 17:18:05.694 13226-13226/com.abc.xyz D/EgretLoader: The context is not activity
12-23 17:18:05.764 13226-13226/com.abc.xyz I/Ads: Ad finished loading.
12-23 17:18:05.824 13226-13226/com.abc.xyz E/Ads: JS: Uncaught ReferenceError: AFMA_ReceiveMessage is not defined (:1)
12-23 17:18:05.824 13226-13226/com.abc.xyz I/chromium: [INFO:CONSOLE(1)] "Uncaught ReferenceError: AFMA_ReceiveMessage is not defined", source:  (1)

Nachdem ich das Problem durchsucht hatte, versuchte ich die Lösungen über die folgenden Links, aber keine davon funktionierte für mich.

Nicht erfasster Referenzfehler: AFMA_getSdkConstants ist nicht definiert

Interstitial Admob funktioniert nicht: AFMA_ReceiveMessage ist nicht definiert

Bitte schlagen Sie mir vor, was ich falsch mache oder was mir fehlt. Vielen Dank.

4
Geeky Singh 23 Dez. 2015 im 15:02

2 Antworten

Beste Antwort

Ich überprüfe Ihren Code und bin korrekt. Manchmal müssen Sie zwei Dinge tun:

1- Warten Sie auf die Überprüfung. Denken Sie daran, dass Sie die Anzeige erst vor einigen Minuten hinzugefügt haben. 2- Versuchen Sie es mit einem realen Gerät. Denken Sie daran, dass Sie nicht die gleichen Dinge wie Play Store-Dienste in einem Emulator haben.

6
josedlujan 23 Dez. 2015 im 16:48

Sogar ich hatte ein ähnliches Problem. In meinem Fall wurde das Problem beim Verschieben des AdView-XML-Inhalts von activity_main.xml nach content_main.xml behoben.

0
Santosh 8 Juni 2016 im 16:39