问题描述
我想要一个AdMob的广告添加到我的Android应用程序,但每当我打开了应该显示广告的活动我得到这个错误:
I'm trying to add an AdMob ad to my android application but whenever I'm opening the activity that is supposed to display the ad I get this error:
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.)
我找不到对谷歌或其他地方这个问题任何东西,我不觉得我做错什么。
I can't find anything on this problem on google or elsewhere and I don't think I'm doing anything wrong.
以防万一,这里是我的XML片段,是为了显示广告:
Just in case, here is my xml snippet that is supposed to show the ad:
<?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>
当然,我拿出所有的 - 我认为 - 不必要的code这个问题,但如果有必要看到它我会后在这里和
Of course I took out all the - I think - unnecessary code for this problem but if it's necessary to see it I'll post it here as well.
我也拿出了我的AdMob UnitID,你可能想通了这一点,但我在写这这里,以便丢失UnitId不会是一个答案。
I also took out my AdMob UnitID, you probably figured that out but I'm writing this here so that missing UnitId won't be an answer.
我的清单有正确的权限列表:
android.permission.ACCESS_NETWORK_STATE
android.permission.INTERNET对
My Manifest has the right permissions listed:
android.permission.ACCESS_NETWORK_STATE
android.permission.INTERNET
和我也有AdActivity添加合适的configChanges
and i also have the AdActivity added with the right configChanges
推荐答案
我也有这个错误,并通过加载在单独的线程的广告(在ICS你不允许在主线程中执行网络操作)解决
I had this error too and solved by loading the ad in separate thread (in ICS you're not allowed to perform network operation in the main thread)
(new Thread() {
public void run() {
Looper.prepare();
adView.loadAd(new AdRequest());
}
}).start();
这篇关于未捕获的ReferenceError:AFMA_getSdkConstants没有定义的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!