kotlin - 奖励广告无效事件和 004 Kotlin 错误代码
问题描述
我尝试将奖励广告添加到我的项目中,但在观看了奖励广告后,fullScreenContentCallback 部分从未起作用。广告已观看,但未添加奖励。
我打开了一个新的空白项目并再次添加了代码。我再次尝试了 1 个按钮和一个 Texview 并得到了同样的错误。
MainActivity.kt
class MainActivity : AppCompatActivity() {
private lateinit var binding: ActivityMainBinding
private var mRewardedAd: RewardedAd? = null
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
binding = ActivityMainBinding.inflate(layoutInflater)
setContentView(binding.root)
loadAd()
binding.button.setOnClickListener {
showAd()
}
}
fun showAd() {
if (mRewardedAd != null) {
mRewardedAd?.show(this@MainActivity, OnUserEarnedRewardListener() {
fun onUserEarnedReward(rewardItem: RewardItem) {
var rewardAmount = rewardItem.amount
var rewardType = rewardItem.getType()
binding.reward.text = "Reward:2"
}
})
} else {
Log.d(TAG, "The rewarded ad wasn't ready yet.")
}
}
fun loadAd() {
var adRequest = AdRequest.Builder().build()
RewardedAd.load(this@MainActivity,"ca-app-pub-3940256099942544/5224354917", adRequest, object : RewardedAdLoadCallback() {
override fun onAdFailedToLoad(adError: LoadAdError) {
// Log.d(TAG, adError?.message)
mRewardedAd = null
}
override fun onAdLoaded(rewardedAd: RewardedAd) {
Log.d(TAG, "Ad was loaded.")
mRewardedAd = rewardedAd
}
})
mRewardedAd?.fullScreenContentCallback = object: FullScreenContentCallback() {
override fun onAdShowedFullScreenContent() {
// Called when ad is shown.
Log.d(TAG, "Ad was shown.")
// currentJoker = 1
binding.reward.text = "Reward:2"
// binding.jokerValue.text="1"
// binding.jokerLayout.setBackgroundResource(R.drawable.jokericon)
}
override fun onAdFailedToShowFullScreenContent(adError: AdError?) {
// Called when ad fails to show.
Log.d(TAG, "Ad failed to show.")
}
override fun onAdDismissedFullScreenContent() {
// Called when ad is dismissed.
// Set the ad reference to null so you don't show the ad a second time.
Log.d(TAG, "Ad was dismissed.")
mRewardedAd = null
}
}
}
}
错误代码
E/Ads: Invalid event ID: null
java.lang.NumberFormatException: null
at java.lang.Long.parseLong(Long.java:557)
at java.lang.Long.parseLong(Long.java:636)
at com.google.android.gms.internal.ads.zzcaw.zzw(com.google.android.gms:play-services-ads@@20.2.0:3)
at com.google.android.gms.internal.ads.zzcaw.zzr(com.google.android.gms:play-services-ads@@20.2.0:6)
at com.google.android.gms.internal.ads.zzdfe.zzf(com.google.android.gms:play-services-ads@@20.2.0:3)
at com.google.android.gms.internal.ads.zzcxk.zza(com.google.android.gms:play-services-ads@@20.2.0:1)
at com.google.android.gms.internal.ads.zzdbc.run(com.google.android.gms:play-services-ads@@20.2.0:1)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at java.lang.Thread.run(Thread.java:919)
W/bileapps.adtes: Accessing hidden method Lsun/misc/Unsafe;->compareAndSwapObject(Ljava/lang/Object;JLjava/lang/Object;Ljava/lang/Object;)Z (greylist, linking, allowed)
W/bileapps.adtes: Accessing hidden method Lsun/misc/Unsafe;->compareAndSwapObject(Ljava/lang/Object;JLjava/lang/Object;Ljava/lang/Object;)Z (greylist, linking, allowed)
D/SurfaceUtils: disconnecting from surface 0xbc864808, reason disconnectFromSurface
W/Ads: #004 The webview is destroyed. Ignoring action.
I/chatty: uid=10135(com.etcmobileapps.adtest) identical 6 lines
W/Ads: #004 The webview is destroyed. Ignoring action.
MainActivity.xml
解决方案
推荐阅读
- java - @Scheduled 从控制器
- javascript - 如何仅使用部分预定义的可用键创建类型?
- android - 如何使垂直滚动列表与视图寻呼机同步
- android - Android 应用上的 Admob 个性化广告用户同意
- kubernetes - 如何在 Kubernetes 中使用来自 Airflow 的 DockerOperator
- c# - UWP - 修改文件时 RandomAccessStream 退出
- c - 在 C 中,我如何访问/迭代动态添加到 fd_set 的文件描述符?
- python - 尝试创建 Django 迁移时,ForeignKey 缺少必需的位置参数 on_delete
- android - 配置“编译”已过时,已替换为“实施”和“API”
- python - 从数据框中删除第一个字母为小写的行