0

我在我的 android 应用程序中使用 google AdMob,当我初始化 RewardedAdLoadCallback() 时,UI 有一个小堵塞,打印的错误是:

E/ExtendedACodec:extradata 端口定义的 setParameter 失败

我在代码中的哪个位置调用我的方法并不重要

这是我为奖励添加回调初始化程序编写的代码:

fun loadRewardAD(context : Context) {
        Constants.rewardedAd = RewardedAd(context, Constants.ADD_MOB_TEST)
        val adLoadCallback = object : RewardedAdLoadCallback() {
            override fun onRewardedAdLoaded() {
                Log.v("ad", "onRewardedAdLoaded")
            }

            override fun onRewardedAdFailedToLoad(adError: LoadAdError) {
                Log.v("ad", "onRewardedAdFailedToLoad")
            }
        }
        Constants.rewardedAd.loadAd(AdRequest.Builder().build(), adLoadCallback)
    }
4

1 回答 1

0

如果你还没有解决这个问题,我最近在我的项目中做了一些可能对你有帮助的事情。即使在更新 UI 时,您也可以进行异步作业。所以是这样的:

override fun OnCreate(){

    lifecycleScope.launch(Dispatchers.Main) {

        async{
        
        }
        async{
        
        }

        ...

    }
}

我只会将不会立即更新 UI 的代码放在这个协程中,因为您可能会看到 UI 更新有一点延迟。但是,在加载插页式广告或奖励广告时,这应该可以正常工作,因为它们与主 UI 无关。

于 2020-10-26T08:43:27.553 回答