2012-05-23 38 views
5

Ich versuche, eine AdMob-Anzeige auf meinem Android-Anwendung hinzuzufügen, aber wenn ich die Aktivität bin öffnen, die angeblich für die Anzeige zu bekomme ich diesen Fehler:Uncaught Reference: AFMA_getSdkConstants ist nicht definiert

I/Ads(11448): adRequestUrlHtml: <html><head><script src="http://media.admob.com/sdk-core-v40.js"></script><script>AFMA_getSdkConstants();AFMA_buildAdURL({"kw":[],"preqs":4,"session_id":"17111845472336325405","u_sd":2,"seq_num":"5","slotname":"MYUSERIDHERE","u_w":360,"msid":"com.lazyprogrammer.dartscore","adtest":"on","js":"afma-sdk-a-v6.0.1","mv":"8011019.com.android.vending","isu":"70069487A7A68D24BEF2581104A73318","cipa":0,"format":"360x50_mb","net":"wi","smart_h":"auto","app_name":"1.android.com.lazyprogrammer.dartscore","hl":"en","smart_w":"full","u_h":613,"carrier":"26203","ptime":225498,"u_audio":1});</script></head><body></body></html> 
E/Ads(11448): JS: Uncaught ReferenceError: AFMA_getSdkConstants is not defined (about:blank:1) 
E/Web Console(11448): Uncaught ReferenceError: AFMA_getSdkConstants is not defined at about:blank:1 
I/Ads(11448): AdLoader timed out after 60000ms while getting the URL. 
D/webviewglue(11448): nativeDestroy view: 0x2bc958 
I/Ads(11448): onFailedToReceiveAd(A network error occurred.) 
I/Ads(11448): AdLoader timed out after 60000ms while getting the URL. 
D/webviewglue(11448): nativeDestroy view: 0x5a1850 
I/Ads(11448): onFailedToReceiveAd(A network error occurred.) 

Ich kann nichts über dieses Problem bei Google oder anderswo finden und ich glaube nicht, dass ich irgendetwas falsch mache.

Nur für den Fall, hier ist mein xml-Schnipsel, die die Anzeige zeigen soll:

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

    <com.google.ads.AdView 
     android:id="@+id/adView" 
     android:layout_alignParentBottom="true" 
     android:layout_centerHorizontal="true" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     ads:adSize="SMART_BANNER" 
     ads:adUnitId="MyIDhere" 
     ads:loadAdOnCreate="true" 
     ads:testDevices="70069487A7A68D24BEF2581104A73318" /> 

</RelativeLayout> 

Natürlich habe ich das alles nahm - ich glaube - unnötige Code für dieses Problem, aber wenn es notwendig ist, um zu sehen, Ich werde es auch hier posten.

Ich habe auch meine AdMob UnitID herausgenommen, Sie haben das wahrscheinlich herausgefunden, aber ich schreibe dies hier, damit fehlende UnitId keine Antwort sein wird.

Mein Manifest hat die richtigen Berechtigungen aufgeführt:
android.permission.ACCESS_NETWORK_STATE
android.permission.INTERNET

und ich habe auch die AdActivity hinzugefügt mit dem richtigen configChanges

+0

Von den Protokollen sieht es aus, als ob Sie auf 6.0.1 sind. Ich nehme an, Sie haben alle 7 configChanges, die AdMob angibt, wenn Ihre App ausgeführt wird. Sind Sie sicher, dass Ihr Gerät eine Verbindung zum Internet hat? –

+0

Ja, das Gerät ist mit meinem WLAN zu Hause verbunden, und hier sind meine configchanges: Android: configChanges = "Tastatur | keyboardHidden | Orientierung | screenLayout | uiMode | screenSize | kleinsteScreenSize" – dr3minem

+0

hmm, ich bin ratlos. Ist dieses Gerät spezifisch? Funktioniert es auf Emulatoren? –

Antwort

10

ich diesen Fehler hatte auch und gelöst durch das Laden der Anzeige in separaten Thread (in ICS können Sie Netzwerkbetrieb im Hauptthread nicht ausführen)

(new Thread() { 
       public void run() { 
        Looper.prepare(); 
        adView.loadAd(new AdRequest()); 
       } 
      }).start(); 
+0

Wow danke, habe keine Antwort mehr erwartet und das war kurz, direkt auf den Punkt und behoben! Vielen Dank! – dr3minem

+1

Dies ist definitiv nicht die Antwort. Dies hat mein exaktes Problem nicht gelöst. – AutoM8R

+0

Hat meine auch nicht repariert. Anscheinend ist es ein bekanntes Problem mit bestimmten Geräten oder vielleicht nur 4.0.4 ICS. Derselbe Fehler auf meinem HTC Desire HD. Funktioniert gut im Emulator auf meinem Stock Nexus 7. Versucht es sowohl mit als auch ohne einen neuen Thread. –

2

Ich hatte dieses Problem, wenn ich zwischen den Netzwerken wechselte und den Emulator laufen ließ.

Ich entdeckte, dass das Problem einfach durch einen Neustart des Emulators gelöst wurde, sobald ich mit dem neuen Netzwerk verbunden war.

3

Überprüfen Sie einfach alle Ihre Internetverbindungen. Mein Laptop hatte Internet, während das Telefon nicht hatte. Ich habe versucht, eine Verbindung mit dem Webserver auf meinem Laptop herzustellen und es funktionierte gut. Nachdem ich es mit dem Telefon versucht hatte, startete ich meinen DSL-Router neu. und alles ist gut und wieder normal.

10

Es ist ein Verbindungsproblem. Ich habe es behoben, indem ich meinen Werbeblocker deinstalliert habe ...

1

Überprüfen Sie die Datei/etc/hosts. Viele benutzerdefinierte ROMs haben Adblock-Einträge ...

Verwandte Themen