Unity奖励视频广告后打开AppCompatDialogFragment时发生错误/崩溃

时间:2019-04-28 23:58:52

标签: android unity3d admob onsaveinstancestate admob-rewardedvideoad

RewardedVideo广告结束后,我想打开一个新的DialogFragment。

public void onRewardedVideoAdClosed()
    {
        //Reward
runOnUiThread(new Runnable()
        {
        @Override
        public void run()
        {                        new Pop_Like_Google_Play().show(getSupportFragmentManager(), "dialog");                       
        });
    }

但是,我只是遇到此错误(这仅在Unity Ads中发生,而在Google或Vungle Ads中不发生):

java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState

这告诉我,它肯定与Unity有关

com.google.ads.mediation.unity.UnityMediationAdapter$1.onUnityAdsFinish(UnityMediationAdapter.java:126)
        at com.google.ads.mediation.unity.UnitySingleton$UnitySingletonListener.onUnityAdsFinish(UnitySingleton.java:287)

1 个答案:

答案 0 :(得分:0)

通常会收到此错误,我可以看到的问题是,您正在尝试使用new Pop_Like_Google_Play().show(getSupportFragmentManager(), "dialog");执行片段事务,该事务将抛出IllegalStateException。它不一定是一个问题。由于使用的是库,因此可能需要找到一种方法来调整事务的执行方式,以防止发生此异常。有一个不错的medium post,您可以从中详细了解为什么会发生这种情况。但是,如果不是这种情况,则可以使用完整的堆栈跟踪更好地识别问题。