我刚刚开始考虑将Admob广告放到我正在构建的android应用程序中。到目前为止,还不是很好。我一直在遵循我从adMob网站下载的AdMod_Android_SDK_Instructions.pdf中的示例,但我感到困惑。在第7页,我看到导入语句将包称为com.admob.android.ads -但在我下载的SDK中,包是com.google.ads -这是谷歌收购admob之前的遗留问题吗?然后,它继续调用该方法的dView.requestFreshAd();-这在最新的代码中不存在。有没有人能帮我弄出一些能正常工作的代码?我在logcat中的具体错误是:
AdView缺少必需的XML属性adUnitId。
..。然后,在我调用adView.loadAd(new AdRequest())之后,我得到:
Invalid unknown request error: Cannot determine request type. Is your ad unit Id correct?
onFailedToReceiveAd(Invalid Google Ad request).任何帮助,非常感谢!谢谢。
发布于 2011-05-16 20:19:36
从4.1.0开始,
mob1lejunkie是完全正确的,您可以删除
中更改adUnitID和adSize的名称空间
下面是admob 4.1.0的一个工作xml片段:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="fill_parent"
xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads">
<com.google.ads.AdView android:id="@+id/ad"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
ads:adUnitId="a14d7f7d2180609"
ads:adSize="BANNER" />
</RelativeLayout>谷歌要求开发人员编写新代码并使用谷歌自己尚未记录的librairy,是不是有点轻描淡写?这让我想起了那次旋转冒险。
然而,我必须说,我很高兴谷歌把它放在了适当的位置,并删除了attrs.xml的东西。在android中使用带有项目继承的admob要容易得多。
此外,关于在一个项目中使用多个广告视图,请注意,在此版本中,现在可以根据以下线程的请求在应用程序的strings.xml文件中添加您的admob id:http://groups.google.com/group/google-admob-ads-sdk/browse_thread/thread/c57917b4491a0c1
只需在所有广告视图的xml布局中这样做:
ads:adUnitId="@string/admob_unit_id"然后
<string name="admob_unit_id">a14d7f7d2180609</string>在您的strings.xml文件和此文件的所有其他本地化版本中。这将为您提供一个集中的位置,以便在所有视图中输入您的admob id。
确实是很棒的发行版。
致敬,Steff
发布于 2011-05-15 07:15:40
我在4.1.0版本中也遇到了类似的问题,结果发现Admob文档(截止到5月15日)已经过时了。
不再需要attrs.xml,并且布局中的命名空间需要
xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads然后是旧的评分者
xmlns:ads="http://schemas.android.com/apk/res/com.your.packagename发布于 2011-03-16 10:10:50
看起来PDF已经过时了。
尝试读取Google AdMob Ads Android Fundamentals
https://stackoverflow.com/questions/5320186
复制相似问题