未捕获的ReferenceError:未定义AFMA_getSdkConstants

时间:2012-05-23 09:44:17

标签: android admob

我正在尝试将AdMob广告添加到我的Android应用程序中,但每当我打开应该显示广告的活动时,我都会收到此错误:

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对

我还添加了正确的configChanges

AdActivity

5 个答案:

答案 0 :(得分:10)

我也有这个错误并通过在单独的线程中加载广告来解决(在ICS中你不允许在主线程中执行网络操作)

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

答案 1 :(得分:10)

这是一个连接问题。我通过卸载广告拦截器修复了它...

答案 2 :(得分:3)

只需检查所有互联网连接即可。我的笔记本电脑有互联网,而电话没有。我确实尝试连接到我的笔记本电脑上的Web服务器,它工作正常。所以在尝试使用手机后,我重新启动了我的DSL路由器。一切都很好,然后恢复正常。

答案 3 :(得分:2)

在网络之间移动并让仿真器运行时,我遇到了这个问题。

我发现只要在连接到新网络后重新启动模拟器就可以解决问题。

答案 4 :(得分:1)

检查/ etc / hosts文件。许多自定义漫游都有adblock条目...