diff --git a/app/src/main/java/com/gamedog/vididin/features/splash/SplashActivity.kt b/app/src/main/java/com/gamedog/vididin/features/splash/SplashActivity.kt index 7a25cef..a85970f 100644 --- a/app/src/main/java/com/gamedog/vididin/features/splash/SplashActivity.kt +++ b/app/src/main/java/com/gamedog/vididin/features/splash/SplashActivity.kt @@ -186,7 +186,7 @@ class SplashActivity : AppViewsEmptyViewModelActivity(), OnTabStyle private fun gotoMain(needShowSplashAd: Boolean) { if (!mHasGotoMain) { mHasGotoMain = true - Router.Main.startActivity(this@SplashActivity) + Router.Main.startActivity(this@SplashActivity, needShowSplashAd) finish() } } diff --git a/app/src/main/java/com/gamedog/vididin/main/MainActivity.kt b/app/src/main/java/com/gamedog/vididin/main/MainActivity.kt index f0b56ee..d3b9728 100644 --- a/app/src/main/java/com/gamedog/vididin/main/MainActivity.kt +++ b/app/src/main/java/com/gamedog/vididin/main/MainActivity.kt @@ -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(), 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(), 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(), 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) } } diff --git a/app/src/main/java/com/gamedog/vididin/router/DefaultMainRouter.kt b/app/src/main/java/com/gamedog/vididin/router/DefaultMainRouter.kt index e2f06e1..f3a8392 100644 --- a/app/src/main/java/com/gamedog/vididin/router/DefaultMainRouter.kt +++ b/app/src/main/java/com/gamedog/vididin/router/DefaultMainRouter.kt @@ -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) } } \ No newline at end of file diff --git a/app/src/main/java/com/gamedog/vididin/router/MainRouter.kt b/app/src/main/java/com/gamedog/vididin/router/MainRouter.kt index 5439ebd..ff1e967 100644 --- a/app/src/main/java/com/gamedog/vididin/router/MainRouter.kt +++ b/app/src/main/java/com/gamedog/vididin/router/MainRouter.kt @@ -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) } \ No newline at end of file