Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/203.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Admob ad将不会加载。错误2。它以前工作过,但突然停止了_Java_Android_Admob - Fatal编程技术网

Java Admob ad将不会加载。错误2。它以前工作过,但突然停止了

Java Admob ad将不会加载。错误2。它以前工作过,但突然停止了,java,android,admob,Java,Android,Admob,下面是我试图将横幅广告加载到的整个类(createAd()方法完成此工作) 以下是home_main的xml <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/homeRelative" android:layout_width="match

下面是我试图将横幅广告加载到的整个类(createAd()方法完成此工作)

以下是home_main的xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/homeRelative"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".HomeActivity">

    <com.google.android.gms.ads.AdView
        xmlns:ads="http://schemas.android.com/apk/res-auto"
        android:id="@+id/bottomAd"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        ads:adSize="SMART_BANNER"
        ads:adUnitId="@string/admob_banner_id">
    </com.google.android.gms.ads.AdView>

</RelativeLayout>

如果有人能帮助我,那就太棒了。我真的不知道问题出在哪里。也许我错过了一些非常简单的东西,只是需要另一双眼睛。谢谢你的帮助

首先要弄清楚要加载哪种类型的添加,中间广告还是横幅广告。如果要加载横幅广告,请在admob网站上创建横幅广告单元id,然后在活动视图中直接使用AdView,如下所示:

 <com.google.android.gms.ads.AdView
    xmlns:ads="http://schemas.android.com/apk/res-auto"
    android:id="@+id/xadView"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    ads:adSize="SMART_BANNER"
    ads:adUnitId="@string/admob_banner_ad_unit_id" />

如果要加载星际广告,请在admob站点上创建一个间隙广告单元id,然后按以下方法使用它:

public void showFullScreenAd() {
    try {

                com.google.android.gms.ads.InterstitialAd interstitial = new com.google.android.gms.ads.InterstitialAd(context);
                interstitial
                        .setAdUnitId(ADMOB_INTERSTITIAL_AD_UNIT_ID);

                // Check the logcat output for your hashed device ID to get test ads
                // on
                // a physical device.
                com.google.android.gms.ads.AdRequest adRequest = new AdRequest.Builder()
                        .build();

                // Load the interstitial ad.
                interstitial.loadAd(adRequest);
                interstitial
                        .setAdListener(new com.google.android.gms.ads.AdListener() {
                            @Override
                            public void onAdLoaded() {
                                interstitial.show();
                            }                           
                        });

    } catch (Exception e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
}

注意:重要的是,有时我们在间隙广告中使用横幅广告单元id,或者在间隙广告中使用间隙广告单元id,因此会发生此错误。Admob广告将不会加载。如果设备上的日期或时间错误,则会出现错误2,只需在设备上设置autodate correcting即可检查设备是否具有正确的internet连接。如果没有互联网连接,你将无法获得广告。

另一个问题可能是adblocker应用程序,如本文所述: 作者:榴莲


对我来说,这就是问题所在。

我也有类似的问题。互联网连接正常,没有安装广告拦截器

问题可能与您的测试设备有关。检查测试设备中是否有另一个包含Admob的应用程序。 您还可以使用其他设备和包含Admob的其他应用程序进行检查


在我的例子中,我意识到我的测试设备有互联网连接,但在不同的应用程序中没有显示任何Admob广告。所以我试着重新启动我的测试设备,它工作了。

错误2意味着
错误\u代码\u网络\u错误

因此,请检查您的互联网连接,但仍不显示广告,然后重新启动手机并检查……这对我来说是有效的。

此行为是由一个应用程序一次发出太多广告请求造成的,这会使SDK处于不良状态。重新启动GooglePlay服务,这可以通过清除所有数据有效地完成,为我解决了这个问题。 此问题的SDK修复程序将包含在下一个Google play服务版本中。一旦你的设备接收到更新,你就不需要更新你的应用程序了。

如果使用真实设备,还可以检查其他应用程序,如果显示广告,您知道它们包含广告。还可以在移动网络和Wi-Fi上单独检查


对我来说,它不仅仅出现在移动网络和所有应用程序中删除Google Play服务的数据帮助我,广告再次开始显示。直到GPS下载数据回来。所以它工作了大约一分钟-D

我也有同样的问题,即广告没有出现在物理测试设备屏幕上

我关掉了wifi,开始使用3g移动数据,然后我的广告开始出现在物理测试设备上

我的依赖性也有所不同:

com.google.android.gms:play-services-ads:9.2.0


在谷歌服务中将“禁用移动网络上的后台数据”设置为禁用,而不是
11.6.2

尝试一下,在Android Studio的仿真器中,它对我有效。我的问题是设备的虚拟位置错误:一旦我将其设置为我的真实位置,它就开始工作了。

在我们的例子中,我们公司在防火墙中有一些设置来阻止广告。当我切换到没有防火墙的开放式互联网连接时,它起作用了。

谢谢,我已经通过xml完成了这项工作,而且它也一直不起作用。我会再试一次,希望能成功。谢谢顺便说一句,我试图给横幅充气,所以没用。我将编辑我的帖子,并向您展示我所拥有的内容,您将调用#setContentView两次。一次创建一次创建一次。是的,这不是问题。我几个小时前就发现了这一点,但它仍然没有帮助。如果是这样的话,那么你应该真正更新你的问题,这样你就不会浪费别人的时间s@ChuckOnwuzuruike它现在起作用了吗。我也面临同样的问题。我的admob广告在过去工作得很好。我已签入侦听器,它返回错误代码2。对我来说,这是一件愚蠢的事情,这是主要原因:)它只发生在我连接移动数据时。有什么解决方案吗?@AnandSavjani如果你的SIM卡是预付费的,你的移动数据可能没有信用。奇怪的是,我的模拟器失去了互联网连接,所以这就是解决方案!我使用的是一个自定义ROM和adblocker安装。分析和广告都不起作用。禁用它,一切都像一个魅力!谢谢。当你将你的设备id添加到广告请求的测试设备时,它也阻止了测试广告。保存了我的一天!为了测试,我更改了日期,但忘了重置。谢谢我在Xamarin Android中工作,这也是原因。我没有意识到模拟器时间与PC时间不同步良好的故障排除技能,其他有广告的应用也不工作。良好的故障排除技能,其他有广告的应用也不工作嗨,你知道这个问题是否解决了吗?2019年,将近2020年,我的应用程序的显示率很低(2-3%),我不知道这是我的代码还是Admob SDK。谢谢。
AdView mAdView = (AdView) findViewById(R.id.xadView);
AdRequest adRequest = new AdRequest.Builder().addTestDevice(
                AdRequest.DEVICE_ID_EMULATOR).build();
mAdView.loadAd(adRequest); 
public void showFullScreenAd() {
    try {

                com.google.android.gms.ads.InterstitialAd interstitial = new com.google.android.gms.ads.InterstitialAd(context);
                interstitial
                        .setAdUnitId(ADMOB_INTERSTITIAL_AD_UNIT_ID);

                // Check the logcat output for your hashed device ID to get test ads
                // on
                // a physical device.
                com.google.android.gms.ads.AdRequest adRequest = new AdRequest.Builder()
                        .build();

                // Load the interstitial ad.
                interstitial.loadAd(adRequest);
                interstitial
                        .setAdListener(new com.google.android.gms.ads.AdListener() {
                            @Override
                            public void onAdLoaded() {
                                interstitial.show();
                            }                           
                        });

    } catch (Exception e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
}
com.google.android.gms:play-services-ads:9.2.0