我正在我的应用中实施InterstitialAd,并按照Google代码示例来实施广告。
广告大部分时间都无法正常显示。我已经设置了所有活动以及Manifest中的AdActivity,迫使他们被定位为protrait。但它仍然失败。有没有人知道这是什么问题?百万谢谢!
PS:我不是在这里宣传任何广告..只是为了解决我遇到的问题而在这里有一个屏幕截图
interstitialAd = new InterstitialAd(this, MY_PUBLISHER_ID);
interstitialAd.setAdListener(this); // Set the AdListener.
AdRequest adRequest = new AdRequest();
adRequest.addTestDevice(AdRequest.TEST_EMULATOR);
interstitialAd.loadAd(adRequest);
<application
android:icon="@drawable/logo"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".Abc"
android:screenOrientation="portrait"
android:label="@string/title_activity_startup" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name="com.google.ads.AdActivity"
android:screenOrientation="portrait"
android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"/>
答案 0 :(得分:2)
现在已修复。因此不再需要解决方法: https://groups.google.com/forum/?fromgroups=#!topic/google-admob-ads-sdk/83DP6aCnwx4
答案 1 :(得分:1)
我已经以100%的可重复性再现了这个问题。寻找下面的解决方法。
说明强>
Admob interstitial在Android上显示不正确
重现的步骤:
interstitialAd =新的InterstitialAd(此,AD_UNIT_ID_GOES_HERE);
interstitialAd.setAdListener(本);
用于测试的配置:
Android操作系统:4.2.1或4.2.2
GoogleAdMobAdsSdk:6.2.1或6.3.0
装置:Galaxy Nexus
解决方法:强>
如您所见,原始样本未经修改(在Activity.onCreate中创建InterstitialAd时)正常工作。因此,解决方法的主要思想是创建在实际应用程序中显示插页式广告的相同条件。如果您无法在真实Activity的onCreate方法中放置用于创建InterstitialAd对象的代码,或者您需要显示来自任意代码的插页式广告(例如库代码中的表单),那么您需要创建其他“启动器”活动。
在我的情况下,我使用了以下步骤:
1.创建其他活动(基于Google示例中的InterstitialSample),该活动将用作插页式广告的启动器
2.添加用于创建InterstitialAd对象的代码,并在该Activity的onCreate方法内设置监听器
3.添加用于将插页式广告加载到onCreate方法的代码
4.将用于显示插页式广告的代码添加到onReceiveAd侦听器方法
5.添加完成活动的代码到onFailedToReceiveAd和onDismissScreen监听器方法
然后,只要您需要展示广告,就可以启动此额外的“启动器”活动。这种解决方法适合我。
答案 2 :(得分:0)
有同样的问题和一些测试,我发现其他东西会导致这个问题。如果应用程序使用WebView,开发人员暂停WebView计时器,然后显示插页式广告。它也会导致这个问题。
原因可能是插页式广告,具体取决于HTML / JS。暂停计时器将导致异常行为。
解决方案可以保留WebView计时器,不要暂停它。