无法使用 adMob 在 android 上显示广告

Posted

技术标签:

【中文标题】无法使用 adMob 在 android 上显示广告【英文标题】:Trouble getting ads to display on android with adMob 【发布时间】:2010-08-08 20:54:43 【问题描述】:

我已将相关部分包含在我的清单中:

<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"/>'

从示例中复制的属性:

<?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 错误。

我确定它很容易我想念:)

【问题讨论】:

这个问题正在使用 attrs.xml,这可能意味着它正在使用 Admob 4.0.4 或更早版本。 4.1.0 在this google groups discussion 中描述了一些更改(查找 Tim 的帖子)。 【参考方案1】:

我知道这已经过时了,但我认为这对尝试在表格布局中放置广告的人会有所帮助。我最终通过在我的 TableLayout 中包含 android:stretchColumns="0,1,2,3" 来实现这一点。如果您的跨度不是 4,您将在stretchColumns 中放置与您的跨度相同数量的列/数字。

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

【讨论】:

【参考方案2】:

是的,您缺少两件事:

1.最重要的:

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

2.刷新间隔:

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

休息看起来不错。

【讨论】:

我在 AndroidManifest 中有第一个。我只是编造了数字,但我的应用程序中有我的真实 ID。我已经为我的 xml 文件添加了刷新间隔,但仍然没有运气:( 我最终将广告放在我的 main.xml 中,而不是标签的 xml 中,它现在可以工作了。永远无法弄清楚为什么它不会在我的子活动中请求。 嘿感谢发布者 ID 现在我可以使用您的发布!【参考方案3】:

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

【讨论】:

【参考方案4】:

我也遇到了同样的问题 - 该死的 tabview。将它放在主要活动而不是选项卡中效果很好。

【讨论】:

【参考方案5】:

嗨,杰森 我有解决方案,可能会有所帮助 在你的课堂上写这段代码

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,粘贴它,否则你之前的代码是完美的。

【讨论】:

【参考方案6】:

我已经尝试了将近 3 个小时。我遵循所有谷歌示例。最后,我想通了。您可以自定义请求,然后它将起作用。在我的示例中,我在 Activity 类中执行此操作:

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

你可以在这里查看我的例子,我总是放我的 apk 和源代码。你可以下载试试:

Add Google Admob in Android Application

【讨论】:

以上是关于无法使用 adMob 在 android 上显示广告的主要内容,如果未能解决你的问题,请参考以下文章

(Unity) Admob 横幅未在 Android 7.0 上显示

admob 广告未在 flash 中使用 milkmangames 扩展显示

admob 广告未在 flash 中使用 milkmangames 扩展显示

无法显示 AdMob 横幅

AdMob 中介:iAd 在 iOS 6 上无法正确显示

AdMob 中介:iAd 在 iOS 6 上无法正确显示