【问题标题】:Android AdMob SDK strange behaviourAndroid AdMob SDK 奇怪行为
【发布时间】:2013-04-17 11:49:48
【问题描述】:

我使用的是最新的 android admob SDK 6.3.1,第一个广告已下载并显示在设备上。然后在刷新率时间到期后,在我的情况下为 30 秒,logcat 显示广告已下载并且新添加正确显示。然而,在一秒钟或更短的时间内,新广告消失了,留下的空间应该是空白的。

通过反复试验,我发现如果我触摸广告应该放置的空白区域,它会在浏览器中打开正确的第二个广告链接。所以添加似乎以某种方式隐藏。

此外,如果我触摸空白第二个广告的左下角,则第二个广告会正确显示。

我已经在不同的设备上尝试过相对布局和线性布局,但同样的事情发生了。第一个广告正确显示,刷新间隔后,第二个和所有后续广告被下载并短暂显示,然后变为空白。

除了尝试不同的布局,我还尝试在 XML 中设置 adview 代码并在 java 源代码中以编程方式设置。

我短暂地看到第二个广告的事实证实一切都很好,admob 服务器端让我认为这是布局。但是我尝试了所有能想到的组合都没有成功。

我试过设置:android:layout_width="320dp" android:layout_height="50dp" 而不是 "wrap_content" 或 "fill_parent"。

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
          xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads"
          android:orientation="vertical"
          android:layout_width="fill_parent"
          android:layout_height="fill_parent">
    <com.google.ads.AdView android:id="@+id/adView"
                     android:layout_width="wrap_content"
                     android:layout_height="wrap_content"
                     ads:adUnitId="xxxxxxxxxxxxxxxx"
                     ads:adSize="BANNER"
                     ads:loadAdOnCreate="true"/>
    </LinearLayout>

这是我现在拥有的,根据官方 admob 页面。

清单

    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <activity
        android:name="com.google.ads.AdActivity"
        android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize" />

这是我试图解决这个问题的第三天,有人有任何线索吗?

【问题讨论】:

  • 这听起来很奇怪。日志说什么?你收到 onReceiveAd() 回调了吗?您是否会在代码中弄乱 AdView 的可见性?
  • Eric,是的,我看到了 onReceiveAd() 回调,我什至在新广告消失之前短暂地看到了它。这一切都设置为基本设置,因此不设置颜色等。这让我发疯,因为它发生在我的所有 5 个应用程序中
  • 能否下载Android Fundamentals 示例项目,包含最新的SDK,然后运行应用程序看看是否仍然出现?
  • 我的 android 应用程序也会发生这种情况。示例项目也是如此。
  • 另外,我注意到如果刷新后的新广告是动画的,它并没有消失。接下来,当使用静态广告刷新时,它会再次消失。

标签: android admob banner


【解决方案1】:

您认为这可能是特定于设备的吗?或特定于 API。

【讨论】:

    【解决方案2】:

    这个问题的最佳答案是:-

    您可以设置一个动画来向下滑动横幅,当它离开视图时(设置一个 onAnimationComplete 监听器)调用它的方法:

    活动中的代码:- 对于可见:-

    setVisibility(View.VISIBLE);

    对于:不隐藏

    setVisibility(View.INVISIBLE);

    这样它就不会再占用布局空间了。

    【讨论】:

      【解决方案3】:

      我很确定如果在多个活动 xml 中使用相同的 adview id 名称,就会发生这种情况。 android:id="@+id/adMob1"

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-02-09
        • 1970-01-01
        • 2019-12-14
        • 1970-01-01
        • 2012-01-21
        • 2017-10-31
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多