无法在Android上使用Google SDK提供AdMob广告服务

6

我已经寻找答案一段时间了,但是我找不到相同的情况,所以我转向您寻求帮助...

我正在尝试使用Google SDK(而不是AdMob SDK)在我的Android应用程序中放置广告。在模拟器中运行应用程序时,我看到的日志消息如下:

03-25 22:35:17.457: INFO/Ads(853): adRequestUrlHtml: [ contains two <script> tags ]
03-25 22:35:21.028: INFO/Ads(853): Received ad url: [ big long url ]

有时我会遇到以下情况:
03-25 22:35:21.828: INFO/Ads(853): onFailedToReceiveAd(No ad to show.)

也许我可以理解这一点,但我也遇到了:
03-25 22:50:56.817: INFO/Ads(1084): onFailedToReceiveAd(A network error occurred.)

如果我在我的桌面浏览器中点击上面的"大长链接",一半的时间我会看到广告,另一半看到空白页面。(你好,Dish Network),我从未遇到过错误。
我可以使用模拟器的浏览器浏览网页,所以网络组件是正常的。
该应用程序具有互联网权限。
我对可用示例代码的缺乏感到失望——我看到很多人使用旧版的Admob SDK和一些人使用Google SDK的代码片段,但没有一个从头到尾的教程。
我已经将我的其余代码注释掉了,但仍然无济于事。以下是主要代码块:
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    AdView adView = new AdView(this, AdSize.BANNER, ADMOB_PUBLISHER_ID);
    LinearLayout layout = (LinearLayout)findViewById(R.id.mainLayout);
    layout.addView(adView);
    AdRequest req = new AdRequest();
    // req.setTesting(true);
    adView.loadAd(req);
}

我的清单文件包含以下内容:
<activity android:name="com.google.ads.AdActivity"
          android:configChanges="keyboard|keyboardHidden|orientation"/>

并且

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

我的main.xml包含了这个页面的布局:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@color/yellow"
android:id="@+id/mainLayout"
>

AdMob支持尚未回复。

有人可以帮我或至少将我引荐给适合AdMob新手的完美Google SDK指南吗?

谢谢!

3个回答

1

你有添加attr.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="adUnitId" format="string"/>
  </declare-styleable>
 </resources>

0
尝试将此权限行添加到您的 AndroidManifest.xml 文件中。
 <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> 

0

大家好,今天我遇到了同样的问题。我按照谷歌的全部指示进行操作,最终成功解决了。您可以自定义请求以进行调用加载,就像这样:

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

你可以尝试我的示例,我在这里放置了我的apk和源代码:

在Android应用中添加Google Admob


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接