Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/191.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
Android Admob显示测试广告,但不显示真实广告_Android_Admob - Fatal编程技术网

Android Admob显示测试广告,但不显示真实广告

Android Admob显示测试广告,但不显示真实广告,android,admob,Android,Admob,我使用admob显示android广告。测试广告运行良好,但未显示真实广告。而且,我不反对真正的插播广告,因为它们很好用。只是真正的横幅广告没有出现。我的java代码是 private InterstitialAd interstitial; interstitial = new InterstitialAd(MainActivity.this); interstitial.setAdUnitId("ca-app-pub-********"); AdV

我使用admob显示android广告。测试广告运行良好,但未显示真实广告。而且,我不反对真正的插播广告,因为它们很好用。只是真正的横幅广告没有出现。我的java代码是

private InterstitialAd interstitial;    
interstitial = new InterstitialAd(MainActivity.this);

        interstitial.setAdUnitId("ca-app-pub-********");

        AdView adView = (AdView) this.findViewById(R.id.adView);               
        AdRequest adRequest = new AdRequest.Builder()

        // Add a test device to show Test Ads
         .addTestDevice(AdRequest.DEVICE_ID_EMULATOR)
         .addTestDevice("4CCC00EF4EA205A6FE82E1AEB26B0839")
                .build();

        // Load ads into Banner Ads
        adView.loadAd(adRequest);

        // Load ads into Interstitial Ads
        //interstitial.loadAd(adRequest);
布局文件是

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:ads="http://schemas.android.com/apk/res-auto"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <com.google.android.gms.ads.AdView
        android:id="@+id/adView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        ads:adSize="BANNER"
        ads:adUnitId="ca-app-pub-********" />

</LinearLayout>

删除显示

.addTestDevice("4CCC00EF4EA205A6FE82E1AEB26B0839")

此外,当您使用虚拟设备时,无论发生什么情况,它都会显示测试广告。你是在真正的设备上测试它吗?

看看你的logcat。它将说明为什么没有播放真正的广告


这可能是因为您所在的位置目前没有可显示的设备。

如果您选择本机Express模板,请使用此链接。NativeExpressAdView无法与AdView一起使用

NativeExpressAdView adView=(NativeExpressAdView)findViewById(R.id.adView);
“可能是因为您最近才创建了一个新的广告单元ID并请求直播广告。如果是这种情况,则可能需要几个小时才能开始接收广告。”

我也遇到了同样的问题,如果你能显示测试广告,没关系,很快就会显示现场广告(当然是在你删除.addTestDevice(…)之后)

我猜谷歌需要时间来收集一些信息(位置、年龄、性别……),以便正确显示用户感兴趣的广告

也许你知道但永远不会忘记:不要触摸现场广告,你很快就会被禁止

如果您已删除:

.addTestDevice()
然后,确保使用的ID与AdMob在string.xml文件中提供的ID相同


您可能正在使用样本单元id:ca-app-pub-3940256099942544/630978111

如果你使用上面的话,你会看到测试广告


在发布应用程序之前,请确保更改为您自己的单元id

我也面临着这个问题。AdView和IntersitialAd仅在模拟器上向我显示测试广告。但是在真实设备上有真实的广告。 我认为firebase可以检测你是否使用模拟器或真实设备。我用过firebase:

firebase:firebase广告:11.0.4


创建实时广告单元id的步骤

登录到

  • 在左侧菜单中,单击->应用程序
  • 添加应用程序
  • 选择是否已在Google Play或app Store上发布应用程序
  • 如果否->输入您的应用程序信息
  • 创建广告单元
  • 用新的Ad单元更换测试Ad单元
  • 一旦应用发布到playstore,你就可以看到广告了 在xml中添加AdView

      <com.google.android.gms.ads.AdView 
        xmlns:ads="http://schemas.android.com/apk/res-auto"
        android:id="@+id/adView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
    
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true"
        ads:adSize="BANNER"
        ads:adUnitId="@string/banner_ad_unit_id">
      </com.google.android.gms.ads.AdView>
    

    当应用程序新注册到AdMob时,需要一些时间和一些ads请求才能建立库存。因此,您可能无法立即看到实时印象。一旦你的应用程序开始发出更多请求,你就会看到更一致的结果。请注意,测试广告通过与直播广告相同的渠道运行。能够返回测试广告可确保您的应用程序与我们的网络正常通信。耐心点,过几天就会好的。

    事实上,我也遇到了这个问题。您必须登录admob并转到您在那里添加的应用程序。该应用程序具有admob id。请使用该应用程序的id执行以下操作。
    然后在该应用程序(admob中)中创建一个新的横幅或任何类型的广告,并使用该横幅的id来完成。当你创建一个横幅时,它会自己给你指示。

    回答一个老问题,但我遇到了同样的问题,测试广告是可见的,而production key的广告不起作用

    后来我发现我没有把我的付款细节告诉Admob


    Admob中的付款详细信息是必须的。请在几个小时后更新并检查它是否开始出现。

    在我的情况下,这是因为app>build.gradle中的密钥库文件路径错误。确保您有正确的storeFile文件(“文件路径”)


    我相信这会帮助人们找到答案。

    下面是显示实时广告所需时间的官方答案

    在第一个广告之后,广告开始出现需要多长时间 请求


    当应用程序在AdMob上新注册时,通常需要一个小时 一个小时和几个广告请求,以允许建立库存。因为 这样,您可能无法立即看到实时印象

    注意:在某些情况下,可能需要超过一小时。请等24小时 在寻求额外帮助前几个小时

    一旦你的应用程序发出更多请求,你应该看到更一致的结果 结果。请注意,测试广告通过相同的渠道运作 作为现场广告。能够返回测试广告可确保 应用程序正在与我们的网络正常通信


    来源:

    您必须先添加您的付款信息。我忘了在谷歌Admob上做这个,所以它没有显示任何广告


    另外,请确保使用真实的Ad ID而不是测试ID。

    是的,我正在真实的设备上测试。。。如果我坚持这条路线,那么我会在我的真实设备上得到一个测试广告。。。但是当我移除线路时没有广告当然。。。如果我没有将它们添加到我的舱单中,那么我怎么会得到真正的间隙性数据呢。我在自己注册为测试设备的设备上测试它。我在另一台设备上进行了测试,并显示了真实的广告。是的。test banner和test interstitial广告显示得很好,但real interstitial广告没有显示,而real banner广告也显示得很好。Post
    AndroidManifest.xml
    。Post
    build.gradle
    。当我遇到完全相同的问题时,你有没有找到解决方案?最终你是如何解决你的问题的?你能解决这个问题吗?我想你不需要在布局文件中添加任何内容,如果你使用的是跨行业广告。可能是。。。或者是因为我刚刚为广告创建了ca pub id,并且需要一些时间才能使广告可用???这是相同的情况。我检查了日志。上面写着“没有来自广告服务器的填充”。这意味着什么?这意味着广告服务器
      <com.google.android.gms.ads.AdView 
        xmlns:ads="http://schemas.android.com/apk/res-auto"
        android:id="@+id/adView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
    
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true"
        ads:adSize="BANNER"
        ads:adUnitId="@string/banner_ad_unit_id">
      </com.google.android.gms.ads.AdView>
    
     AdView mAdView = (AdView) v.findViewById(R.id.adView);
     AdRequest adRequest = new AdRequest.Builder().build();
     mAdView.loadAd(adRequest);