main 中尝试显示开屏广告

This commit is contained in:
renhaoting 2026-01-16 17:04:07 +08:00
parent c9e9984ee6
commit d12cccb13c
4 changed files with 51 additions and 7 deletions

View File

@ -186,7 +186,7 @@ class SplashActivity : AppViewsEmptyViewModelActivity<ViewBinding>(), OnTabStyle
private fun gotoMain(needShowSplashAd: Boolean) {
if (!mHasGotoMain) {
mHasGotoMain = true
Router.Main.startActivity(this@SplashActivity)
Router.Main.startActivity(this@SplashActivity, needShowSplashAd)
finish()
}
}

View File

@ -15,7 +15,7 @@ import androidx.viewpager2.widget.ViewPager2
import com.ama.core.architecture.appBase.AppViewsActivity
import com.ama.core.architecture.appBase.OnFragmentBackgroundListener
import com.ama.core.architecture.ext.toast
import com.ama.core.architecture.util.SpUtil
import com.ama.core.architecture.util.DateUtil
import com.ama.core.architecture.util.bindViewPager2
import com.ama.core.architecture.util.setCommonNavigator
import com.ama.core.architecture.util.setDataOrAdapter
@ -36,6 +36,11 @@ import com.gamedog.vididin.manager.NotificationController
import com.gamedog.vididin.router.Router
import com.remax.base.report.DataReportManager
import com.remax.base.utils.ActivityLauncher
import com.remax.bill.ads.AdResult
import com.remax.bill.ads.PreloadController
import com.remax.bill.ads.config.AdConfigManager
import com.remax.bill.ads.ext.AdShowExt
import com.remax.bill.ads.log.AdLogger
import com.remax.notification.builder.LANDING_NOTIFICATION_ACTION
import com.remax.notification.builder.LANDING_NOTIFICATION_CONTENT
import com.remax.notification.builder.LANDING_NOTIFICATION_FROM
@ -48,6 +53,8 @@ import com.remax.notification.newUtil.events.PowerConnectionReceiver
import com.remax.notification.service.NotificationKeepAliveServiceManager
import com.viddin.videos.free.R
import dagger.hilt.android.AndroidEntryPoint
import kotlinx.coroutines.launch
import kotlin.math.ceil
import com.gamedog.vididin.main.MainUiState as UiState
import com.gamedog.vididin.main.MainViewModel as ViewModel
import com.viddin.videos.free.databinding.ActivityMainBinding as ViewBinding
@ -90,6 +97,10 @@ class MainActivity : AppViewsActivity<ViewBinding, UiState, ViewModel>(), OnTabS
if (GuideManager.instance().getCurGuideIndex() < GUIDE_INDEX_GIFT) {
BeginnerGiftDialog(this@MainActivity).show()
}
if (intent.getBooleanExtra(EXTRA_NEED_SHOW_SPLASH_AD, false)) {
showSplashAd()
}
}
override fun ViewBinding.initListeners() {
@ -204,6 +215,34 @@ class MainActivity : AppViewsActivity<ViewBinding, UiState, ViewModel>(), OnTabS
}
}
private fun showSplashAd() {
val startTime = DateUtil.getCurTimeMs()
lifecycleScope.launch {
when (val result = AdShowExt.showAppOpenAd(this@MainActivity) { loaded ->
PreloadController.preload(this@MainActivity)
PreloadController.preloadPangle(this@MainActivity)
PreloadController.preloadTopOn(this@MainActivity)
DataReportManager.reportData(
"loading_page_end", mapOf(
"pass_time" to ceil((System.currentTimeMillis() - startTime) / 1000.0).toInt()
)
)
}) {
is AdResult.Success -> {
AdLogger.e("开屏广告显示成功 in MainAct")
}
is AdResult.Failure -> {
AdLogger.e("开屏广告显示失败 in MainAct: ${result.error.message} ")
}
AdResult.Loading -> {
AdLogger.d("开屏广告显示中... in MainAct")
}
}
}
}
private fun sendNotificationClickStatistics(notificationAction: Int) {
var pushType = 1
if (notificationAction == PushContent.ACTION_TYPE_GAME
@ -340,8 +379,13 @@ class MainActivity : AppViewsActivity<ViewBinding, UiState, ViewModel>(), OnTabS
companion object {
internal fun startActivity(activity: Activity) {
activity.startActivity(Intent(activity.applicationContext, MainActivity::class.java))
val EXTRA_NEED_SHOW_SPLASH_AD = "EXTRA_NEED_SHOW_SPLASH_AD"
internal fun startActivity(activity: Activity, needShowSplashAd: Boolean) {
val intent = Intent(activity.applicationContext, MainActivity::class.java).apply {
putExtra(EXTRA_NEED_SHOW_SPLASH_AD, needShowSplashAd)
}
activity.startActivity(intent)
}
}

View File

@ -4,7 +4,7 @@ import android.app.Activity
import com.gamedog.vididin.main.MainActivity
class DefaultMainRouter: MainRouter {
override fun startActivity(activity: Activity) {
MainActivity.Companion.startActivity(activity)
override fun startActivity(activity: Activity, needShowSplashAd: Boolean) {
MainActivity.Companion.startActivity(activity, needShowSplashAd)
}
}

View File

@ -3,5 +3,5 @@ package com.gamedog.vididin.router
import android.app.Activity
interface MainRouter {
fun startActivity(activity: Activity)
fun startActivity(activity: Activity, needShowSplashAd: Boolean)
}