I need to reduce my app size by collect recurring functions in one place
All functions works fine Except RewardedAd
I want to return a value confirming that ad was shown until end by set variable named adRewardedBoolean to True
Here's my Kotlin code
//Rewarded
private const val adRewardedID = "ca-app-pub-3306064401573277/5337641258"
private var adRewardedBoolean: Boolean = false
private var adRewardedIsLoading = false
private var adRewarded: RewardedAd? = null
private var adRewardAmount: Int = 0
private var adRewardedTimes: Int = 0
//Call loadRewardedAd from any activities
//Ads.loadRewardedAd(this)
fun loadRewardedAd(context: Context): Boolean {
context as Activity
if (adRewarded == null) {
adRewardedIsLoading = true
val adRequest = AdRequest.Builder().build()
RewardedAd.load(context,
adRewardedID,
adRequest,
object : RewardedAdLoadCallback() {
override fun onAdFailedToLoad(adError: LoadAdError) {
adRewardedIsLoading = false
adRewarded = null
if (adRewardedTimes == 3) {
adRewardAmount++
adRewardedBoolean = true
log("onAdFailedToLoad")
//checkRewardedAd(adRewardAmount)
} else {
adRewardedTimes++
loadRewardedAd(context)
}
}
override fun onAdLoaded(rewardedAd: RewardedAd) {
adRewarded = rewardedAd
adRewardedIsLoading = false
adRewarded?.fullScreenContentCallback =
object : FullScreenContentCallback() {
override fun onAdDismissedFullScreenContent() {
adRewarded = null
adRewardedBoolean = true
log("onAdDismissedFullScreenContent")
}
override fun onAdFailedToShowFullScreenContent(adError: AdError) {
adRewarded = null
loadRewardedAd(context)
}
override fun onAdShowedFullScreenContent() {
}
}
adRewarded?.show(context) { rewardItem ->
adRewardAmount = rewardItem.amount
}
}
})
}
log(adRewardedBoolean.toString())
return adRewardedBoolean
}