按照此处的说明,我一直在将 AdMob 广告放入其他可以正常工作的 Android 应用程序中。该应用程序有 2 个活动。其中一个只能从第一个到达。我目前正在向第二个活动添加广告。AdView
我已经尝试在方法中以编程方式创建一个onCreate
,并将适当的代码添加到 Activity 的 XML 布局文件中。在这两种情况下,活动都会退出第二个活动并转到第一个活动,就好像它一收到广告(或至少一些网络上的广告数据)就按下了后退按钮。如果我更改代码以免发出添加请求(即使我以编程方式添加广告但只是不调用loadAd
),或者如果我关闭我的网络访问,那么我看不到任何广告,但我的活动也没有退出。这可能是什么原因造成的?
我已经完成了所有(我相信过时的)步骤,但这并没有帮助。为了清楚以防我做错了什么,我有:
- 至少在上周五下载了最新的 Android 和 AdMob SDK。
- 在 default.properties (我必须在项目的根目录中创建,因为我做不好)和 project.properties (我认为项目实际使用的)中设置“target=android-17”。
- 在 AndroidManifest.xml 中设置 'android:minSdkVersion="3"'。
- 将库添加到项目中(通过将 GoogleAdMobAdsSdk-6.2.1.jar 放在项目根目录的 libs 目录中)。
- 添加了从此处
com.google.ads.AdActivity
复制到 AndroidManifest.xml 的内容。 - 添加了对 AndroidManifest.xml 的权限,再次从同一位置复制。
- 从这里复制代码和 XML 标记(和属性)并将它们添加到我的项目中(用我的发布者 ID 替换 MY_AD_UNIT_ID),尽管我还在代码中提出了使模拟器成为测试设备的请求。
- 添加了带有广告样式的 attrs.xml。我相当肯定这是过时的建议,但我还是照做了。我使用了这个问题中的那个,虽然我改成
com.admob.android.ads.AdView
了com.google.ads
.
如果你想帮助我,我认为你会想知道的下一件事是 LogCat 所说的。不多:
09-02 14:33:34.861: I/Ads(12839): adRequestUrlHtml: <html><head><script src="http://media.admob.com/sdk-core-v40.js"></script><script>AFMA_getSdkConstants();AFMA_buildAdURL({"msid":"com.Package.Name","hl":"en","bas_off":0,"simulator":1,"preqs":0,"slotname":"a150cbaa53d9d3d","js":"afma-sdk-a-v6.2.1","isu":"B3EEABB8EE11C2BE770B684D95219ECB","u_audio":4,"cap":"m,a","cipa":0,"u_sd":1.5,"net":"ed","u_h":533,"oar":0,"session_id":"4834854664722735718","seq_num":"1","app_name":"1.android.com.Package.Name","bas_on":0,"kw":[],"u_w":320,"gnt":3,"adtest":"on","format":"320x50_mb","carrier":"310260","ad_pos":{"visible":0,"width":0,"height":0,"x":0,"y":0},"ptime":0});</script></head><body></body></html>
09-02 14:33:35.111: D/dalvikvm(12839): GC freed 8784 objects / 437720 bytes in 64ms
09-02 14:33:37.101: I/Ads(12839): Received ad url: <url: "http://googleads.g.doubleclick.net:80/mads/gma?msid=com.Package.Name&hl=en&bas_off=0&preqs=0&js=afma-sdk-a-v6.2.1&isu=B3EEABB8EE11C2BE770B684D95219ECB&u_audio=4&cap=m%2Ca&cipa=0&u_sd=1.5&net=ed&u_h=533&oar=0&session_id=4834854664722735718&seq_num=1&app_name=1.android.com.Package.Name&bas_on=0&kw&u_w=320&gnt=3&adtest=on&format=320x50_mb&carrier=310260&ptime=0&u_so=p&output=html®ion=mobile_app&u_tz=0&client_sdk=1&ex=1&slotname=a14e8f77524dde8&kw_type=broad&gsb=3g&caps=interactiveVideo_th_autoplay_mediation_sdkAdmobApiForAds_di&jsv=41" type: "admob" afmaNotifyDt: "null" useWebViewLoadUrl: "false">
09-02 14:33:37.111: I/Ads(12839): Request scenario: Online server request.
09-02 14:33:38.061: I/jdwp(12861): received file descriptor 10 from ADB
09-02 14:33:38.091: D/ddm-heap(12861): Got feature list request
编辑:我认为它不会很有用,但应 suleman khan 的要求,这是我当前的 XML
<com.google.ads.AdView android:layout_width="wrap_content"
android:layout_height="wrap_content" ads:adUnitId="a150cbaa53d9d3d"
ads:adSize="SMART_BANNER" android:id="@+id/adView" ads:refreshInterval="60"
ads:testDevices="TEST_EMULATOR"
ads:loadAdOnCreate="true" />
我已经尝试了很多这样的变体,但没有成功。