gpt4 book ai didi

android - Admob Interstitial 关闭现有 Activity

转载 作者:行者123 更新时间:2023-11-29 01:12:01 26 4
gpt4 key购买 nike

当我显示 Admob 插页式广告时,它显示正常,并且我注册了一个监听器来捕获 onAdClosed 事件,但问题是我实际上无法从与我的 UI 交互的该事件中执行任何操作,因为插页式广告已将其关闭全部。

我正在像这样创建插页式广告:

    storyAd = new InterstitialAd(this);
storyAd.setAdUnitId("ca-app-pub-xxxxxxxxxxxxxxxx");
storyAd.setAdListener(new AdListener() {
@Override
public void onAdClosed() {
super.onAdClosed();
storyAd.loadAd(buildAdRequest());
if (prevMusicPlaying) {
toggleAudio();
}
loadNextPage();
}
});
storyAd.loadAd(buildAdRequest());

我的 list 中也有它:

    <activity android:name="com.google.android.gms.ads.AdActivity"
android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"
android:theme="@android:style/Theme.Translucent" />

loadNextPage() 调用崩溃,因为它试图创建一个新 fragment 并将其添加到我的 Activity 中,但它无法执行此操作,因为 Activity 已被插页式广告暂停。所以我只得到这个异常(exception):

Caused by: java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState
at android.app.FragmentManagerImpl.checkStateLoss(FragmentManager.java:1328)
at android.app.FragmentManagerImpl.enqueueAction(FragmentManager.java:1346)
at android.app.FragmentManagerImpl.popBackStack(FragmentManager.java:488)

如何才能使 InterstitialAd 不以任何方式干扰现有 UI。花了很长时间才让现有的 UI 与各种 Activity/fragment 陷阱一起工作。

最佳答案

您可能在显示插页式广告之前完成当前 Activity ,然后依靠插页式回调移动到下一页或屏幕

这是一种不好的做法,因为您不希望您的应用程序流依赖于广告回调。可能存在广告根本无法展示的情况

你需要做的就是打电话

loadNextPage();

在展示广告之前。当广告显示时,它会简单地以这种方式越过应用程序屏幕,如果有广告,它会简单地接管,否则它不会影响应用程序

关于android - Admob Interstitial 关闭现有 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42292880/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com