无法通过adMob在Android上展示广告

时间:2010-08-08 20:54:43

标签: android admob

我在清单中包含了相关部分:

<meta-data android:value="123456789" android:name="ADMOB_PUBLISHER_ID" />

            <!-- Track Market installs from AdMob ads -->             
            <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" />'

<uses-sdk android:minSdkVersion="3" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>'

attrs从示例中复制过来:

<?xml version="1.0" encoding="utf-8"?>
    <resources>
            <declare-styleable name="com.admob.android.ads.AdView">
                    <attr name="backgroundColor" format="color" />
                    <attr name="primaryTextColor" format="color" />
                    <attr name="secondaryTextColor" format="color" />
                    <attr name="keywords" format="string" />
                    <attr name="refreshInterval" format="integer" />
            </declare-styleable>
    </resources>

我的布局(这是一个标签视图顺便说一句)是一个表格,它在它自己的行上:

xmlns:app="http://schemas.android.com/apk/res/com.icukansas.lenscalculator"

<TableRow>
     <!-- Place an AdMob ad at the bottom of the screen. -->
    <!-- It has white text on a black background. -->
    <com.admob.android.ads.AdView
      android:layout_span="4"
      android:id="@+id/ad" 
      app:backgroundColor="#000000"
      app:primaryTextColor="#FFFFFF"
      app:secondaryTextColor="#CCCCCC"
      app:keywords="security"
    />
    </TableRow>
然后我打电话给:

public class myClass extends Activity implements AdListener{

public void onCreate(Bundle savedInstanceState){         super.onCreate(savedInstanceState);

    setContentView(R.layout.tab_thistab);

    AdView ad = (AdView) findViewById(R.id.ad);
    ad.setAdListener(this);

每次我在日志中遇到onFailedToReceiveAd错误。

我确信它很容易让我失踪:)

6 个答案:

答案 0 :(得分:1)

是你缺少两件事:

1.最重要的是:

<meta-data android:value="a14e20856e4ad8f" android:name="ADMOB_PUBLISHER_ID" />

2.Refresh Interval:

 <com.admob.android.ads.AdView     
           android:id="@+id/ad" 
           android:layout_width="fill_parent" 
           android:layout_height="wrap_content"
           myapp:backgroundColor="#000000"
           myapp:primaryTextColor="#FFFFFF"
           myapp:secondaryTextColor="#CCCCCC"
           myapp:refreshInterval="30"           
  /> 

休息看起来不错。

答案 1 :(得分:1)

我知道这已经过时了,但我认为对于试图将广告放入桌面布局的人来说会有所帮助。我最终通过在我的TableLayout中包含android:stretchColumns =“0,1,2,3”来实现这一点。如果您的跨度不是4,那么您将在stretchColumns中添加与您的跨度相同数量的列/数字。

<TableLayout android:id="@+id/TableLayout01" android:stretchColumns="0,1,2,3" android:layout_width="fill_parent" android:layout_height="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android">

答案 2 :(得分:1)

您忘记在清单中添加netstate权限。

答案 3 :(得分:0)

我有同样的问题 - friggin tabview。将它放在主要活动而不是标签中可以很好地工作。

答案 4 :(得分:0)

杰森,你好 我有解决方案,可能会有所帮助 在你的班级写下这段代码

AdManager.setTestDevices(new String[] { AdManager.TEST_EMULATOR, // Android emulator
                "5669B77A6042345BC23219DCAC6C15CA",// device id
                });
ad = (AdView) findViewById(R.id.ad);
ad.requestFreshAd();
ad.setAdListener(this);

在信息选项卡中运行应用程序后,您可以在logcat中获取设备ID,搜索文本。

要在模拟器上获取测试广告,请使用AdManager.setTestDevices ... 还设置了听众

你将获得你的设备ID,粘贴它,否则你以前的代码是完美的。

答案 5 :(得分:0)

我已经尝试了近3个小时了。我按照所有谷歌的例子。最后,我弄清楚了。您可以自定义请求,然后它将工作。在我的示例中,我在Activity类中执行此操作:

    AdRequest re = new AdRequest();
    //re.setTesting(true);
    re.setGender(AdRequest.Gender.FEMALE); 
    adview.loadAd(re);

你可以在这里检查我的例子,我总是把我的apk和源代码。您可以下载并尝试:

Add Google Admob in Android Application