【问题标题】:android InterstitialAd always not showing properlyandroid InterstitialAd 总是无法正确显示
【发布时间】:2013-02-11 12:10:13
【问题描述】:

我正在我的应用中实施 InterstitialAd,并按照 Google 代码示例实施广告。

问题:

广告大部分时间都无法正常显示。我已经设置了所有活动以及 Manifest 中的 AdActivity,迫使它们定向为纵向。然而它仍然失败。有没有人知道是什么问题?百万谢谢!

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"/>

【问题讨论】:

  • 您有没有找到解决办法?无论如何,我也在这里发布了这个问题:groups.google.com/forum/?fromgroups=#!forum/…
  • 很遗憾,但这仍然是一个悬而未决的问题,我决定删除代码部分...仅供参考,我已经尝试使用 2 个不同的手机设备进行测试,S2 会有这样的错误,但对于 S3到现在还没有这样的错误。也非常感谢您对帖子的帮助! =)

标签: android layout interstitial


【解决方案1】:

【讨论】:

    【解决方案2】:

    我以 100% 的可重复性重现了这个问题。在下面寻找解决方法。

    说明:
    Admob 插页式广告在 Android 上显示不正确

    重现步骤:

    1. 使用页面上的“下载示例项目”链接下载 admob 插页式示例:https://developers.google.com/mobile-ads-sdk/docs/admob/advanced
    2. 打开 InterstitialSample.java
    3. 在onCreate方法中找到以下2行代码:

      interstitialAd = new InterstitialAd(this, AD_UNIT_ID_GOES_HERE);
      interstitialAd.setAdListener(this);

    4. 从 onCreate 方法中删除这两行,并将它们添加到 onClick 之前 interstitialAd.loadAd(adRequest);
    5. 将 AD_UNIT_ID_GOES_HERE 替换为您的 ID
    6. 将 GoogleAdMobAdsSdk-6.3.0.jar 添加到项目中
    7. 构建并运行
    8. 点击“加载插页式”按钮,然后点击“显示插页式”按钮
    观察结果:
    当设备处于纵向时,插页式广告会显示横向版本的广告内容,反之亦然,当设备处于横向时,插页式广告会显示纵向版的广告内容。

    用于测试的配置:
    Android 操作系统:4.2.1 或 4.2.2
    GoogleAdMobAdsSdk:6.2.1 或 6.3.0
    设备:Galaxy Nexus

    解决方法:
    如您所见,未经修改的原始示例(在 Activity.onCreate 中创建 InterstitialAd 时)工作正常。因此,解决方法的主要思想是为在实际应用程序中显示插页式广告创建相同的条件。如果您无法在真实 Activity 的 onCreate 方法中放置用于创建 InterstitialAd 对象的代码,或者您需要从任意代码(例如库代码中的表单)显示插页式广告,那么您需要创建额外的“启动器”Activity。

    就我而言,我使用了以下步骤:
    1. 创建额外的 Activity(基于 Google 示例中的 InterstitialSample)将用作插页式广告的启动器
    2. 添加用于创建 InterstitialAd 对象并在该 Activity 的 onCreate 方法中设置监听器的代码
    3.在onCreate方法中添加加载插页式广告的代码
    4.在onReceiveAd监听方法中添加显示插页式广告的代码
    5. 在 onFailedToReceiveAd 和 onDismissScreen 监听方法中添加完成Activity的代码

    然后,只要您需要展示广告,只需启动这个额外的“启动器”活动即可。这种解决方法对我有用。

    【讨论】:

    • 我已经通过添加“启动器”活动来实现您的想法,以便在那里启动 InterstitialAd。有用!!非常感谢!!
    【解决方案3】:

    有同样的问题,经过一些测试,我发现其他东西会导致这个问题。如果应用程序使用 WebView 并且开发人员暂停了 WebView 计时器,然后显示插页式广告。也会导致这个问题。

    原因可能是基于 HTML/JS 的插页式广告。暂停的计时器将导致异常行为。

    解决方案可以保持 WebView 计时器,永不暂停。

    【讨论】:

    • 这没有提供问题的答案。要批评或要求作者澄清,请在他们的帖子下方发表评论 - 您可以随时评论自己的帖子,一旦您有足够的reputation,您就可以comment on any post
    猜你喜欢
    • 1970-01-01
    • 2021-01-10
    • 2020-01-25
    • 1970-01-01
    • 2021-10-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多