AdMob横幅广告未显示

我在我的应用程序中使用admob,它工作正常,但突然停止展示广告。 贝娄是我使用的代码:

mainActivity.xml:

<com.google.android.gms.ads.AdView android:id="@+id/adView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:layout_alignParentBottom="true" ads:adSize="BANNER" ads:adUnitId="@string/banner_ad_unit_id"> </com.google.android.gms.ads.AdView> 

MainActivity.java

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

AndroidManifest:

  <uses-sdk android:minSdkVersion="9" android:targetSdkVersion="19" /> <uses-permission android:name="android.permission.INTERNET"/> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> <meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" /> <!--Include the AdActivity configChanges and theme. --> <activity android:name="com.google.android.gms.ads.AdActivity" android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize" android:theme="@android:style/Theme.Translucent" /> 

我遵循所有来自adMob网站的指示,正如我所说的,前几天工作。

贝娄来自logcat几行可能与我的问题有关:

 09-25 22:44:50.292: E/dalvikvm(18554): Could not find class 'android.app.AppOpsManager', referenced from method com.google.android.gms.common.GooglePlayServicesUtil.zza 

 09-25 22:45:07.209: E/Ads(18554): JS: Uncaught ReferenceError: renderAd is not defined (https://googleads.g.doubleclick.net/mads/gma:1) 09-25 22:45:07.209: E/Web Console(18554): Uncaught ReferenceError: renderAd is not defined:1 09-25 22:45:07.209: E/Ads(18554): JS: Uncaught ReferenceError: onLoad is not defined (https://googleads.g.doubleclick.net/mads/gma:1) 09-25 22:45:07.209: E/Web Console(18554): Uncaught ReferenceError: onLoad is not defined:1 

我反复发出警告,当我点击广告应该显示的空白区域时,看起来更多

 09-25 22:46:10.911: W/PicturePileLayerContent(18554): Warning: painting PicturePile without content! 

这是过滤logcat与“广告”

 09-25 23:39:25.948: I/Ads(28874): Starting ad request. 09-25 23:39:25.948: I/Ads(28874): Use AdRequest.Builder.addTestDevice("8FCD71CAAE776558876AAA9BA964245A") to get test ads on this device. 09-25 23:39:26.919: I/Ads(22050): App index is not enabled 09-25 23:39:30.432: E/Ads(28874): JS: Uncaught ReferenceError: renderAd is not defined (https://googleads.g.doubleclick.net/mads/gma:1) 09-25 23:39:30.442: E/Ads(28874): JS: Uncaught ReferenceError: onLoad is not defined (https://googleads.g.doubleclick.net/mads/gma:1) 09-25 23:39:30.442: I/Ads(28874): Scheduling ad refresh 60000 milliseconds from now. 09-25 23:39:30.472: I/Ads(28874): Ad finished loading. 

我到处寻找解决办法,也看了一些类似的,但他们没有帮助我。

Solutions Collecting From Web of "AdMob横幅广告未显示"

使用下面的代码行

 AdView mAdView = (AdView) findViewById(R.id.adView); AdRequest request = new AdRequest.Builder() .addTestDevice(AdRequest.DEVICE_ID_EMULATOR) // All emulators .addTestDevice("AC98C820A50B4AD8A2106EDE96FB87D4") // My Galaxy Nexus test phone .build(); mAdView.loadAd(request ); 

而不是使用这个

 AdRequest adRequest = new AdRequest.Builder().build(); 

因为当您的应用程序准备在Google Play商店上发布时,会使用此行。

您可以将您的设备ID代替“AC98C820A50B4AD8A2106EDE96FB87D4” 。 获取设备ID的代码:

 String android_id = Settings.Secure.getString(getContext().getContentResolver(), Settings.Secure.ANDROID_ID); 

请仔细阅读这些内容:

https://developers.google.com/admob/android/targeting#test_ads

https://developers.google.com/admob/android/quick-start

看到这个

在这里输入图像说明

在这里输入图像说明

这个问题是通过手动卸载应用程序并重新安装而不作任何改变来解决的!

检查是否有最新版本的AdMob和GooglePlayServices库。

把横幅放在一个LinearLayout中,就像这样,我面临同样的问题,我通过把它放在一个线性布局

  <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:ads="http://schemas.android.com/apk/res-auto" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical" android:layout_alignParentTop="true" android:layout_alignParentRight="true" android:layout_alignParentEnd="true" android:id="@+id/linearLayout"> <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-8056472942589154/2652831823" android:layout_alignBottom="@+id/saida" android:layout_alignParentLeft="true" android:layout_alignParentStart="true" /> </LinearLayout> 

在我的情况下,广告没有显示,直到我给了足够的空间。

之前,它是

 <LinearLayout android:orientation="vertical" android:background="@color/primary" android:layout_width="match_parent" android:layout_height="90dip"> <ImageView android:onClick="goBack" android:clickable="true" android:src="@drawable/ic_arrow_back_white_48dp" android:layout_width="50dip" android:layout_height="50dip"/> <com.google.android.gms.ads.AdView android:layout_gravity="center_horizontal" android:id="@+id/adView" android:layout_width="wrap_content" android:layout_height="wrap_content" ads:adSize="BANNER" ads:adUnitId="@string/dwn_bnr_ad"/> 

这里的adview有wrap_content的高度,所以它调整自己以实现其高度,但其父(LinearLayout)具有90dip的严格高度,这不允许adView占用足够的空间来显示广告。

所以我所做的只是将LinearLayout的高度改为wrap_content,然后事情就好了

您是否回到您的admob帐户来注册您的特定应用程序广告,并用“ca-app-pub-”序言而不是“pub-”序言获得一个新的更长的发布者号码?

Google Admob“Google移动广告SDK”开发网站上的“横幅广告1”说明书中没有提到必须返回到您的admob帐户才能执行此操作。

这个愚蠢的错误让我担心了好几天。