当我尝试显示来自 admob 的奖励视频广告时应用程序崩溃

问题描述

应用程序在我的像素 2 设备上运行良好,但它崩溃了 小米红米 9C 和其他一些设备,只有当我显示视频广告时,应用程序才会崩溃,但如果我显示插页式广告,它就可以正常工作。

 E/ActivityTaskManager: Second failure launching com.ameerhamza.animatedgiflivewallpapers/com.google.android.gms.ads.AdActivity,giving up
android.os.TransactionTooLargeException: data parcel size 602668 bytes
    at android.os.BinderProxy.transactNative(Native Method)
    at android.os.BinderProxy.transact(BinderProxy.java:510)
    at android.app.IApplicationThread$Stub$Proxy.scheduleTransaction(IApplicationThread.java:2499)
    at android.app.servertransaction.ClientTransaction.schedule(ClientTransaction.java:135)
    at com.android.server.wm.ClientLifecycleManager.scheduleTransaction(ClientLifecycleManager.java:47)
    at com.android.server.wm.ActivityStackSupervisor.realStartActivityLocked(ActivityStackSupervisor.java:865)
    at com.android.server.wm.RootActivityContainer.attachApplication(RootActivityContainer.java:787)
    at com.android.server.wm.ActivityTaskManagerService$LocalService.attachApplication(ActivityTaskManagerService.java:7052)
    at com.android.server.am.ActivityManagerService.attachApplicationLocked(ActivityManagerService.java:5346)
    at com.android.server.am.ActivityManagerService.attachApplication(ActivityManagerService.java:5426)
    at android.app.IActivityManager$Stub.onTransact(IActivityManager.java:2090)
    at com.android.server.am.ActivityManagerService.onTransact(ActivityManagerService.java:2849)
    at android.os.Binder.execTransactInternal(Binder.java:1021)
    at android.os.Binder.execTransact(Binder.java:994)

这就是我加载广告的方式

     RewardedAd.load(this,AD_ID,adRequest,object : RewardedAdLoadCallback() {
        override fun onAdFailedToLoad(adError: LoadAdError) {
           
            mrewardedvideoad = null
        }

        override fun onAdLoaded(rewardedAd: RewardedAd) {
           
            mrewardedvideoad = rewardedAd
            mrewardedvideoad?.fullScreenContentCallback =rewardVideoAdCallback
        }
    })

这就是我所说的展示广告

        if (mrewardedvideoad != null ) {
                            mrewardedvideoad?.show(this) {
                                fun onUserEarnedReward(rewardItem: RewardItem) {
                                    var rewardamount = rewardItem.amount
                                    var rewardType = rewardItem.getType()
                                    val editor = this.getSharedPreferences("Ads",0).edit()
                                    editor.putInt("coin",totaleRewaredCoin + 120).apply()

                                }
                            }

                        } 

我使用的 Admob 版本

implementation 'com.google.android.gms:play-services-ads:20.0.0'

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)