admob banner不会显示出来

时间:2011-11-09 17:33:28

标签: android admob banner

我知道这已经讨论过很多次了,但是我无法管理这项工作:(。我真的尝试过,但我没有成功。

我已将GoogleAdMobAdsSdk-4.0.4.jar添加到我的libs文件夹中,然后将其添加到构建路径中。

我还应该怎么办?我没有看到我的横幅,它永远不会被展示

我想我做了一件非常愚蠢的事情,但我无法意识到是什么

这是我的活动

package com.google.ads.example;

import com.google.ads.AdRequest;
import com.google.ads.AdSize;
import com.google.ads.AdView;

import android.app.Activity;
import android.os.Bundle;
import android.widget.LinearLayout;

public class BannerEssentials extends Activity{
  private static final String MY_BANNER_UNIT_ID = "123";

@Override
  public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    // Lookup R.layout.main
    LinearLayout layout = (LinearLayout)findViewById(R.id.linearLayout);

    // Create the adView
    // Please replace MY_BANNER_UNIT_ID with your AdMob Publisher ID
    AdView adView = new AdView(this, AdSize.BANNER, MY_BANNER_UNIT_ID);

    // Add the adView to it
    layout.addView(adView);

    // Initiate a generic request to load it with an ad
    AdRequest request = new AdRequest();
    request.setTesting(true);

    adView.loadAd(request);            
  }
}

这是我的清单

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="com.google.ads.example"
      android:versionCode="1"
      android:versionName="1.0">
    <application android:icon="@drawable/icon" android:label="@string/app_name">
        <activity android:name=".BannerEssentials"
                  android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity android:name="com.google.ads.AdActivity" 
              android:configChanges="keyboard|keyboardHidden|orientation"/>
    </application>
    <uses-permission android:name="android.permission.INTERNET"/>
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> 
    <uses-sdk android:minSdkVersion="3" />

</manifest> 

这是我的布局main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/linearLayout"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
<TextView  
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:text="@string/hello"
    />
</LinearLayout>

4 个答案:

答案 0 :(得分:0)

尝试在xml文件(http://code.google.com/mobile/ads/docs/android/banner_xml.html

中添加admob横幅

请记住,即使一切正常(阅读什么是填充率),您也不会总是看到应用中的广告

答案 1 :(得分:0)

您是否针对Android API 13编译项目?查看admob requirements

  

要求
  适用于Android的Google AdMob Ads SDK需要Android 1.5或更高版本。确保您拥有Android SDK的最新副本,并且您至少要编译Android v3.2(将default.properties中的目标设置为android-13)。

如果这没有用,请尝试从官方网站下载并使用最新的admob sdk。

答案 2 :(得分:0)

您是否将MY_BANNER_UNIT_ID设置为实际的发布商ID?如果没有,您需要访问AdMob网站,然后注册并创建网站/应用以获取您的发布商ID。

仅供参考,4.0.4是SDK的一个相当旧的版本。我建议升级到4.3.1。 4.3.1你的清单中需要一些新的configChanges,并要求你针对android-13进行编译(4.0.4没有),但它更稳定,是一个支持得更好的版本。您可以找到有关集成4.3.1 here

的文档

答案 3 :(得分:0)

您需要在admob网站上手动添加您的应用。它会询问您的名称以及广告横幅或插页式广告的类型。即使我有发布者ID,我也没有显示,直到我手动添加它并点击页面底部的完成按钮。