Uncaught ReferenceError: AFMA_getSdkConstants is n

2020-02-10 08:38发布

问题:

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.

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>

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.

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.

My Manifest has the right permissions listed:
android.permission.ACCESS_NETWORK_STATE
android.permission.INTERNET

and i also have the AdActivity added with the right configChanges

回答1:

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();


回答2:

It's a connection problem. I fixed it by uninstalling my ad blocker...



回答3:

Simply just check all of your internet connections. My Laptop had internet while the phone hadn't. I did try to connect to the web server on my laptop and it was working fine. so after trying heaps with the phone, I rebooted my DSL router. and everything is fine and back to normal then.



回答4:

I had this problem when moving between networks and leaving the emulator running.

I discovered that simply restarting the emulator once I was connected to the new network solved the problem.



回答5:

Check /etc/hosts file. Many custom roms has adblock entries ...



标签: android admob