2012-05-23 25 views
5

我試圖AdMob廣告添加到我的Android應用程序,但每當我打開那應該顯示廣告的活動我得到這個錯誤:未捕獲的ReferenceError:AFMA_getSdkConstants沒有定義

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.) 

我無法在谷歌或其他地方找到任何有關此問題的信息,我認爲我沒有做錯任何事情。

以防萬一,這裏是應該顯示廣告我的XML片段:

<?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> 

當然,我拿出所有的 - 我認爲 - 不必要的代碼對於這個問題,但如果有必要看我也會在這裏發佈它。

我也拿出了我的AdMob UnitID,你可能已經想通了,但我在這裏寫這個,所以缺少UnitId不會是答案。

我的清單具有正確的權限上市:
android.permission.ACCESS_NETWORK_STATE
android.permission.INTERNET對

和我也有AdActivity添加合適的configChanges

+0

從日誌看起來像你在6.0.1。我假設你擁有全部7個configChanges AdMob指定你的應用是否運行。你確定你的設備連接到互聯網嗎? –

+0

是的,該設備連接到我家的wifi,這裏是我的配置變化:android:configChanges =「keyboard | keyboardHidden | orientation | screenLayout | uiMode | screenSize | smallestScreenSize」 – dr3minem

+0

嗯,我很難過。這個設備是否特定?它在仿真器上工作嗎? –

回答

10

我有這個錯誤通過將廣告加載到單獨的線程中解決(在ICS中,您不允許在主線程中執行網絡操作)

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

哇謝謝,沒有期待一個答案了,這是短暫的,直接點和修復它!謝謝! – dr3minem

+1

這絕對不是答案。這並沒有解決我完全相同的問題。 – AutoM8R

+0

也沒有固定我的。顯然這是某些設備或4.0.4 ICS的已知問題。我的HTC Desire HD出現同樣的錯誤。在股票交易所7的模擬器中正常工作。試圖在有和沒有新線程的情況下進行。 –

2

當在網絡之間移動並且運行模擬器時,我遇到了這個問題。

我發現,只要重新啓動模擬器,一旦我連接到新網絡解決了問題。

3

只需檢查所有的互聯網連接。我的筆記本電腦上網,而電話沒有。我確實嘗試連接到我的筆記本電腦上的網絡服務器,並且工作正常。所以在嘗試堆放電話後,我重新啓動了我的DSL路由器。一切都很好,然後恢復正常。

10

這是一個連接問題。我通過卸載我的廣告攔截器來解決它...

1

檢查/ etc/hosts文件。許多自定義的ROM都有adblock條目...

相關問題