2011-08-08 104 views
4

我试图在Android中实施Admob,并且看到请求进入AdMob。不过,我并没有在模拟器和Android测试手机的Android屏幕上看到Admob广告。Admob广告没有显示

如前所述,我可以看到进入我的AdMob帐户的请求。但是,内容没有被显示。是否需要在我的帐户,main.xml,AndroidManifest.xml中或加载应用程序时启用该功能?

我的应用程序配置和代码如下。请告知需要什么。谢谢!

AndroidManifest:

  <meta-data 
      android:value="My Publisher ID" 
      android:name="ADMOB_PUBLISHER_ID" /> 
     <activity android:name="com.admob.android.ads.AdMobActivity"/> 
     <receiver 
      android:name="com.admob.android.ads.analytics.InstallReceiver" 
      android:exported="true"> 
     <intent-filter> 
     <action android:name="com.android.vending.INSTALL_REFERRER"/> 
     </intent-filter> 
     </receiver> 
     <meta-data 
      android:value="true" 
      android:name="ADMOB_ALLOW_LOCATION_FOR_ADS"/> 

主:

<com.google.ads.AdView 
    android:id="@+id/adView" 
    android:layout_alignParentBottom="true" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    ads:adSize="BANNER" 
    ads:adUnitId="My Publisher ID" 
    ads:loadAdOnCreate="true"/> 

在创建代码:

 AdView adView = (AdView)this.findViewById(R.id.adView); 
     AdRequest re = new AdRequest(); 
     re.setTesting(true); 
     adView.loadAd(re); 

任何帮助表示赞赏!

+0

*请告知需要什么* Logcat输出将是一个开始... – Earl

回答

0

一些可能的解决方案可能听起来很明显,但要确保你有这些完成:

-replace“我的Publisher ID”在android系统:价值=“我的Publisher ID”与您的实际发行商ID。

- 确保包括在您的清单文件Internet权限:

<uses-permission android:name="android.permission.INTERNET" /> 

如果你已经完成了这些,你也可以尝试将下面的代码,而不是当前的“开创建”部分:

AdView adView = (AdView)this.findViewById(R.id.adView); 
    AdRequest adRequest = new AdRequest(); 
    adRequest.setTesting(true); 
    adView.loadAd(adRequest); 
    adView.loadAd(new AdRequest()); 

AdManager.setTestDevices(new String[] {AdManager.TEST_EMULATOR}); 

    AdView adView = (AdView)findViewById(R.id.adView); 
    adView.requestFreshAd(); 

出版之前,不要忘了是但是一定要摆脱setTestDevice!

3

广告通常需要一段时间才能通过admob开始出现。这种情况发生在刚刚在admob上注册并启动第一个应用程序的情况下。如果上面给出的建议得到了处理,并且您的admob页面显示“绿色”状态,我不会太担心。一旦您的填充率增加,您将开始看到越来越多的广告。

+0

注册您的设备作为测试设备,您应该几乎立即收到测试广告。 http://code.google.com/mobile/ads/docs/android/intermediate.html#addtestdevice – devconsole

+0

我对广告有疑问:http://stackoverflow.com/questions/36389729/ads-areloading-but不显示 –

+0

我刚刚创建了我的第二个广告,并且在开始出现在我的应用中之前不得不等待大约一个小时。 –

9

确保AdView嵌入的布局不会在AdView上施加任何填充。 AdView的尺寸必须精确到320x50。如果没有足够的空间,它不会显示出来。

同时检查您的设备的日志输出。在Eclipse中切换到DDMS透视图,选择您的设备并观看LogCat输出。

0

确保您的admob发布者ID是正确的。它曾与我发生过一次,我无法弄清大约15天的错误。

在Admob中,您提交的每个应用都获得不同的发布者ID。它是每个应用程序唯一而不是每个用户。

+0

我对广告有疑问:http://stackoverflow.com/questions/36389729/ads-areloading-but-not-showing –

6

我有类似的问题。如果您的父级布局上有任何填充,则广告可能没有足够的宽度。如果您在纵向视图中使用它,请尝试切换到横向视图以查看它是否显示。如果它比你最有可能在你的布局的某处有宽度问题。

+0

我对广告有疑问:http://stackoverflow.com/questions/36389729/ads-are-loading-but-not-showing –

1

要当心用id,有2个代码:编辑器号(是这样的:酒馆XXXXXXXXXXXXXXXX),另一个是旗帜ID(是这样的:为ca-app-PUB-XXXXXXXXXXXXXXXX/XXXXXXXXXX)

您需要使用的最后一个,如果你使用的第一个不工作:)

1

您正在使用 广告:adUnitId设置=“这里adUnitId设置为这个应用程序:adUnitId设置=“我的Publisher ID” 与 广告替换“ 注意:您必须在Admob上创建应用程序,并且您将为该创建的应用程序获取AdUnitId。您不必使用发布者ID。

0

这可能是空间问题,您需要确保空间可用于显示广告。如果父级布局上有填充,则可能会减少可用空间。根据google Admob docs,如果没有空间显示,则不会显示任何广告。

“SDK将请求无论大小的请求的AdView实例化,如果设备屏幕上没有足够的空间来显示广告,则不会显示任何内容。”

所以我的建议是,以确保没有填充是父布局和实际的高度和宽度分配给横幅广告这样

<com.google.ads.AdView 
    android:id="@+id/adView" 
    android:layout_alignParentBottom="true" 
    android:layout_width="@dimen/banner_width" 
    android:layout_height="@dimen/banner_height" 
    ads:adSize="BANNER" 
    ads:adUnitId="My Publisher ID" 
    ads:loadAdOnCreate="true"/> 

和存储合适的尺寸在你的价值观dimens.xml夹。

1

确保您的Admob布局显示在xml视图中。把里面的RelativeLayout您的AdMob视图,并尝试使用android:alignparentBottom:true

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

<!--Do our code that you want to show in xml --> 

<!--Put adview in bottom of screen --> 
     <com.google.ads.AdView 
       android:id="@+id/adView" 
       android:layout_width="fill_parent" 
       android:layout_height="wrap_content" 
       ads:adSize="BANNER" 
       android:layout_alignParentBottom="true" 
       ads:adUnitId="@string/addmob_id" 
       ads:loadAdOnCreate="true" 
       ads:testDevices="HT9CWP803129" /> 
    </RelativeLayout> 
    </LinearLayout> 

在Java代码中把这几行onCreate方法

// Load addvertisment 
     AdView adView = (AdView) findViewById(R.id.adView); 
     // Request for Ads 
     AdRequest adRequest = new AdRequest(); 
     adRequest.addTestDevice("FF9CD441FA62FD456D7D571B91DD11DD"); 

     adView.loadAd(adRequest); 

这个工作在我的代码,希望它会帮助你。

+0

提到了错误的java代码。这将始终通过错误。 –