我正在开发实现Admob间隙广告的Android应用程序。我想要的是处理程序锁定屏幕并显示进度条两秒钟,然后显示间隙广告。
我所做的是通过创建一个动画,并在interstitalad之后调用它,为interstitalad制作动画。显示
方法。
mInterstitialAd!!.adListener = object: AdListener() {
override fun onAdLoaded() {
btnstart.setOnClickListener(View.OnClickListener {
if (mInterstitialAd!!.isLoaded) {
mInterstitialAd!!.show()
overridePendingTransition(R.anim.in_left, R.anim.nav_default_exit_anim)
} else {
sharpref!!.privacyPolicyAccepted()
if (!sharpref!!.isFirstTimeLaunch()) {
val intent = Intent(applicationContext, SliderActivity::class.java)
startActivity(intent)
} else {
val intent = Intent(applicationContext, MainActivity::class.java)
startActivity(intent)
}
}
})
}
代码为<代码>overridePendingTransition(R.anim.in_left,R.anim.nav_default_exit_anim)洲际广告设置了动画,但我想在洲际广告打开前显示两秒钟的Pogress栏。
坠机后的Logcat
2020-12-04 10:29:03.603 577-1239/? E/PackageManager: liangshuang2, setEnabledSetting, packageName=com.google.android.apps.youtube.mango,,className=androidx.work.impl.background.systemjob.SystemJobService,,,newState=1,,flags=1,,userId=0,,callingPackage=null
2020-12-04 10:29:04.309 577-5614/? E/PackageManager: liangshuang2, setEnabledSetting, packageName=com.google.android.apps.youtube.mango,,className=androidx.work.impl.background.systemalarm.RescheduleReceiver,,,newState=1,,flags=1,,userId=0,,callingPackage=null
2020-12-04 10:35:56.218 22376-22565/? E/AndroidRuntime: FATAL EXCEPTION: Timer-0
Process: com.techpaliyal.bottomcutoutnavigation, PID: 22376
java.lang.RuntimeException: Can't toast on a thread that has not called Looper.prepare()
at android.widget.Toast$TN.<init>(Toast.java:405)
at android.widget.Toast.<init>(Toast.java:117)
at android.widget.Toast.makeText(Toast.java:292)
at android.widget.Toast.makeText(Toast.java:282)
at
com.maximus.technologies.views.activities.SplashActivity$setClickListeners$4$onAdLoaded$1$$special$$inlined$timerTask$1.run(Timer.kt:149)
at java.util.TimerThread.mainLoop(Timer.java:555)
at java.util.TimerThread.run(Timer.java:505)
2020-12-04 10:36:00.841 577-739/? E/UsbDeviceManager: unknown state HWDISCONNECTED
--------- beginning of main
2020-12-04 10:36:00.921 763-763/? E/licong: onReceive
2020-12-04 10:36:00.929 577-596/? E/BatteryExternalStatsWorker: no controller energy info supplied for wifi
2020-12-04 10:36:00.942 577-596/? E/BatteryExternalStatsWorker: no controller energy info supplied for bluetooth
2020-12-04 10:36:01.171 577-596/? E/BatteryExternalStatsWorker: no controller energy info supplied for wifi
更新代码
btnstart.setOnClickListener(View.OnClickListener {
mInterstitialAd!!.adListener = object: AdListener() {
override fun onAdLoaded() {
if (mInterstitialAd!!.isLoaded) {
mInterstitialAd!!.show()
overridePendingTransition(R.anim.in_left, R.anim.nav_default_exit_anim)
} else {
sharpref!!.privacyPolicyAccepted()
if (!sharpref!!.isFirstTimeLaunch()) {
val intent = Intent(applicationContext, SliderActivity::class.java)
startActivity(intent)
} else {
val intent = Intent(applicationContext, MainActivity::class.java)
startActivity(intent)
}
}
}
override fun onAdFailedToLoad(adError: LoadAdError) {
if (mInterstitialAd!!.isLoaded) {
mInterstitialAd!!.show()
overridePendingTransition(R.anim.in_left, R.anim.nav_default_exit_anim)
} else {
sharpref!!.privacyPolicyAccepted()
if (!sharpref!!.isFirstTimeLaunch()) {
val intent = Intent(applicationContext, SliderActivity::class.java)
startActivity(intent)
} else {
val intent = Intent(applicationContext, MainActivity::class.java)
startActivity(intent)
}
}
}
override fun onAdOpened() {}
override fun onAdClicked() {
// Code to be executed when the user clicks on an ad.
}
override fun onAdLeftApplication() {
// Code to be executed when the user has left the app.
}
override fun onAdClosed() {
if(!sharpref!!.isFirstTimeLaunch()) {
val intent = Intent(applicationContext, SliderActivity::class.java)
startActivity(intent)
}
else
{
val intent = Intent(applicationContext, MainActivity::class.java)
startActivity(intent)
}
}
}
})
}
有关计时器的更多详细信息,请参阅此答案。
快速概述:-
链接中的答案显示了在特定时间后安排某些工作的不同方法。您可以根据您的要求使用它。
就我从你的问题中了解到的,你可以有这样的:-
if (mInterstitialAd!!.isLoaded) {
// show Progress Bar visibility here
Handler().postDelayed({
//Hide Progress Bar visibility here
mInterstitialAd!!.show()
overridePendingTransition(R.anim.in_left,R.anim.nav_default_exit_anim)
}, 2000)
}
在这个方法中,在你的if(mInterstitialAd!!.isLoaded)
之后,你还可以有一个计时器(更多详细信息请参见提供的链接),然后你可以用你的动画显示你的广告。
任何人都知道当用户第二次单击按钮时如何显示间隙广告。我的意思是,当用户单击一次按钮时,广告不应出现,但每当用户再次单击同一按钮时,广告必须显示。。 这里显示了我在不同活动中调用的中间代码。
我有一个离子型应用程序。我想实现cordova admob免费插件。我创建广告单元已经一个多月了。广告在android和ios上都能完美地运行。当我发布到商店时,android运行良好并显示广告,但ios广告不显示。有一个白色区域代替横幅广告。你可以在下面的照片中看到横幅广告。这张照片并不能完全理解,但广告应该出现在空白处。间隙广告和奖励广告根本不显示。此外,在我的admob帐户中,有许多ios请
我计划在我的应用程序中添加AdMob间隙广告。一切正常,但我想改变动画广告的外观。默认情况下,ad单元从下向上显示。我想更改动画以溶解或完全关闭它。有这样的机会吗? 我拥有的: > 对象 @接口GadInterstival:NSObject 显示方法: (false)呈现FromRootViewController:(nonnull UIViewController*)rootViewContro
谁能引导我过去吗?也许我的效用不好?
问题内容: 我正在使用PIL库进行一些图像编辑。关键是,我不想每次都将图像保存在HDD上以在资源管理器中查看它。是否有一个小模块可以使我设置窗口并显示图像? 问题答案: 从PIL教程中: 一旦有了 Image 类的实例,就可以使用该类定义的方法来处理和操纵图像。例如,让我们显示刚刚加载的图像: 更新: 如今,该方法已正式记录在PIL的Pillow分支中,并说明了如何在不同的OS上实现该方法。