我刚刚开始考虑将Admob广告放入我正在构建的Android应用程序中.到目前为止,没有好处.我一直在关注我从adMob网站下载的AdMod_Android_SDK_Instructions.pdf中的示例,但感到很困惑.在第7页上,我看到import语句将包引用为com.admob.android.ads – 但在我下载的SDK中,包是com.google.ads – 这是谷歌获得的admob之前的剩余部分吗?然后继续调用方法adView.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).
任何帮助,非常感谢!
谢谢.
解决方法:
自4.1.0起,
mob1lejunkie是完全正确的,你可以删除
> attrs.xml
> background,primarytextcolor,secondarytextcolor属性(并在应用程序的管理设置选项卡上从admob网站定义它们)
>从xml文件中的主布局中删除名称空间xmlns:myapp,并将其替换为xmlns:ads(请注意这里!!新的xmlns不在/ apk / res中,但是在apk / lib中)
>在adView xml代码段中更改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>
是不是谷歌要求开发人员设置一个新的代码并使用谷歌尚未记录的图书馆?它让我想起了adwhirl冒险……
不过,我必须说我很高兴谷歌把它放到位并删除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