我正在努力将我的Kotlin应用程序转换为Admons20.1.0。遇到了整合奖励广告的问题。
问题是从来没有调用过onUserEarnedReward
。目前,我无法用他们解锁的内容奖励用户。下面的代码放在onClickListener
中的AppCompatActivity()
中
if (mRewardedAd != null) {
mRewardedAd?.show(this, OnUserEarnedRewardListener { // Redundant SAM-constructor
fun onUserEarnedReward(rewardItem: RewardItem) { // Function "onUserEarnedReward" is never used
val rewardAmount = rewardItem.amount
val rewardType = rewardItem.type
println("======================= TYPE - $rewardType /// AMOUNT - $rewardAmount")
// This never gets called.
}
})
} else {
println("=======================The rewarded ad wasn't ready yet.")
}
我的进口品:
import com.google.android.gms.ads.*
import com.google.android.gms.ads.rewarded.RewardItem
import com.google.android.gms.ads.rewarded.RewardedAd
import com.google.android.gms.ads.rewarded.RewardedAdLoadCallback
import com.google.android.gms.ads.OnUserEarnedRewardListener
为什么我要得到冗余的SAM构造函数和函数"onUserEarnedReward“从来不使用?
发布于 2021-06-08 18:11:43
原因是您正在创建一个高阶函数,而不是调用该函数。请尝试使用下面的代码。看起来不错
mRewardedAd?.show(this, OnUserEarnedRewardListener { rewardItem ->
val rewardAmount = rewardItem.amount
val rewardType = rewardItem.type
println("======================= TYPE - $rewardType /// AMOUNT - $rewardAmount")
}
为了更好地理解下面的高阶函数,代码也是有用的。
mRewardedAd?.show(this, OnUserEarnedRewardListener {
fun onUserEarnedReward(rewardItem: RewardItem) {
val rewardAmount = rewardItem.amount
val rewardType = rewardItem.type
println("======================= TYPE - $rewardType /// AMOUNT - $rewardAmount")
}
onUserEarnedReward(it)
})
https://stackoverflow.com/questions/67891681
复制相似问题