AdMob广告没有在模拟器,android中显示

时间:2011-05-03 19:09:35

标签: android admob

Java类代码(在onCreate方法中):

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

layout / main.xml代码:

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

values / attrs.xml代码:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <declare-styleable name="com.google.ads.AdView">
        <attr name="adSize">
            <enum name="BANNER" value="1" />
            <enum name="IAB_MRECT" value="2" />
            <enum name="IAB_BANNER" value="3" />
            <enum name="IAB_LEADERBOARD" value="4" />
        </attr>
        <attr name="My_AD_PUBLISHER_ID" format="string" />
    </declare-styleable>
</resources>

在Manifest文件中,在应用程序标记结束之前:

    <activity android:name="com.google.ads.AdActivity"
        android:configChanges="keyboard|keyboardHidden|orientation" />

在清单标记结束之前:

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

库也已从属性包含到Java构建路径中 并且代替My_AD_PUBLISHER_ID,我已经仔细地放置了我的实际广告代码

完成所有这些后,广告正在设备上的模拟器中显示。请告诉我我错过了什么?

3 个答案:

答案 0 :(得分:2)

正如您所提到的,LogCat说:

  

onFailedToReceiveAd(网络错误......

这意味着它是一个网络问题。即使您可以加载Web浏览,也不意味着网络没问题,它可能被防火墙或其他网络配置阻止。我之前遇到过同样的问题。

如果您尝试使用真实设备而非模拟器,则未显示的测试广告可能是由除网络问题之外的其他admob问题引起的。最常见的混淆问题是“无广告显示”错误,这与Admob填充率有关。

答案 1 :(得分:2)

如果像我一样你有移动宽带,你需要在启动模拟器之前在互联网上建立连接,否则它似乎没有连接

答案 2 :(得分:0)

在您的资源文件中,我注意到您有

<attr name="My_AD_PUBLISHER_ID" format="string" />

应该阅读的地方

<attr name="adUnitId" format="string" />

不确定这是否是您复制到StackOverflow时的拼写错误。我相信这会导致构建错误吗?