当我显示Admob插页式广告时,它显示正常,并且我注册了侦听器以捕获onAdClosed事件,但问题是我实际上无法从与我的UI交互的事件中执行任何操作,因为插页式广告已全部关闭。Admob插页式广告关闭了现有活动
我创建这样的间隙:
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());
我有它在我的表现太:
<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()调用崩溃,因为它试图创建一个新片段将其添加到我的活动中,因为活动已被插页式广告暂停,因此无法执行此活动。所以我只是得到这个例外:
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与各种活动/片段陷阱一起工作。
你想要存档?您是否阅读过关于“onAdClosed”的描述 - 当用户点击广告后即将返回到应用程序时调用。' – Divers
@Divers - 我想要实现的功能是添加插页式广告,而不会搞乱现有的我已经拥有精致的碎片系统。因此,理想情况下,我希望展示插页式广告,不会暂停或关闭活动,也不会销毁任何已存在的片段。如果我不能这样做,那么我至少需要在广告关闭后发生回调,但用户已经返回到应用程序,所以我可以在不崩溃的情况下更新UI。 – user3690202