AFMA_ReceiveMessage未定义

时间:2014-01-14 16:47:30

标签: android admob

我正在我的Android应用中集成AdMob。添加部分的代码非常简单,几乎可以直接来自Google Developer's Guide。我正在尝试实施插页式广告。广告显示正常,但我在stackTrace中以红色显示:

  

E / Ads(21443):JS:未捕获的ReferenceError:未定义AFMA_ReceiveMessage(null:1)

谁能告诉我这是什么意思?是否可以使用此错误释放应用程序,因为它不会使应用程序崩溃?

编辑:我刚刚注意到这个错误是针对特定广告收到的,而不是针对其他广告(目前只在我的国家/地区获得两个广告)。所以也许这只是Publisher端缺少的东西。

6 个答案:

答案 0 :(得分:9)

如果这是测试设备,您应该致电AddTestDevice("your tester device code you can got it from logCat when you start the App")。 如果不是,它应该在生产环境中正常工作。

测试员:

AdView mAdView = (AdView)rootView.findViewById(R.id.adView);
Builder adRequest = new AdRequest.Builder().addTestDevice("3F166F686479332267DD2DCCD89dfwrg");
AdRequest aaa=adRequest.build();
mAdView.loadAd(aaa);

生产:

AdView mAdView = (AdView) findViewById(R.id.adView);
AdRequest adRequest = new AdRequest.Builder().build();
mAdView.loadAd(adRequest);

答案 1 :(得分:3)

您需要创建一个线程来加载广告。

new Thread(new Runnable() {
        public void run() {
            here your code to load banner ...
        }
    }).start();

有关更多文档,请访问android开发人员关于线程的文档: http://developer.android.com/guide/components/processes-and-threads.html

如果它返回错误,要求您使用主UiThread,请在您的活动中使用以下代码

runOnUiThread(new Runnable() {
                public void run() {
                    interstitialAd.show();
                }
            });

答案 2 :(得分:1)

在添加

之前,我遇到了同样的问题
compile 'com.google.android.gms:play-services:7.8.0'
在build.gradle中

。这解决了我的问题。

答案 3 :(得分:1)

确保您为插页式广告请求创建了单独的广告单元ID。如果您使用横幅广告单元ID进行插页式广告请求,则会发生同样的错误。它在那之前就已经开始工作了,但是他们已经在某个时候改变了它。

答案 4 :(得分:1)

我在stacktrace中遇到了这个特殊错误,因为我的adview没有使用广告监听器。

希望它有所帮助。

yourAdView.setAdListener(new AdListener() {
    @Override
    public void onAdClosed() {
        super.onAdClosed();
    }

    @Override
    public void onAdFailedToLoad(int i) {
        super.onAdFailedToLoad(i);
    }

    @Override
    public void onAdLeftApplication() {
        super.onAdLeftApplication();
    }

    @Override
    public void onAdOpened() {
        super.onAdOpened();
    }

    @Override
    public void onAdLoaded() {
        super.onAdLoaded();
    }
});

答案 5 :(得分:-1)

当我没有完全设置我的广告单元ID时,我收到了此错误(我创建了它但未按下“完成”按钮)。在apps.admob.com上完成设置后,错误消失了。