看广告act 页面优化

This commit is contained in:
renhaoting 2025-12-10 17:35:49 +08:00
parent c9d281abcd
commit 2ebaf58f56
14 changed files with 85 additions and 35 deletions

View File

@ -3,6 +3,23 @@ package com.gamedog.vididin
object VidiConst { object VidiConst {
/**
* Varous type for watching Ad
*/
const val WATCH_AD_FOR_WITHDRAW = 1
const val WATCH_AD_FOR_BOX_TASK = 2
const val WATCH_AD_FOR_ZERO_EARN_DIAMOND = 3
const val WATCH_AD_FOR_DAILY_WATCH_AD = 4
const val WATCH_AD_FOR_DAILY_EARN_GOLD = 5
const val WATCH_AD_FOR_CONVERT_GOLD_2_CASH = 6
const val URL_DISCORD: String = "https://www.baidu.com" const val URL_DISCORD: String = "https://www.baidu.com"
const val URL_GAME: String = "https://www.baidu.com" const val URL_GAME: String = "https://www.baidu.com"

View File

@ -24,14 +24,14 @@ object VididinEvents {
const val Event_AD_TASK_TYPE_Convert_Gold_2_Cash = 800 const val EVENT_AD_WATCHED_FOR_CONVERT_GOLD_2_CASH = 800
const val Event_AD_TASK_TYPE_Watch_Ad_Earn_Gold = 801 const val EVENT_AD_WATCHED_FOR_EARN_GOLD = 801
const val Event_AD_TASK_TYPE_Watch_Ad_Daily = 802 const val EVENT_AD_WATCHED_FOR_DAILY_WATCH_AD = 802
const val Event_AD_TASK_TYPE_Withdraw = 803 const val Event_AD_TASK_TYPE_Withdraw = 803
const val Event_AD_TASK_TYPE_Complement = 804 const val Event_AD_TASK_TYPE_Complement = 804
const val Event_AD_TASK_TYPE_BOX_TASK = 805 const val EVENT_AD_WATCHED_FOR_BOX_TASK = 805
const val Event_AD_TASK_EARN_DIAMOND = 806 const val EVENT_AD_WATCHED_FOR_ZEROBUY_EARN_DIAMOND = 806
const val Event_AD_TASK_WITHDRAW = 807 const val EVENT_AD_WATCHED_FOR_WITHDRAW = 807

View File

@ -13,6 +13,7 @@ import com.ama.core.architecture.util.AndroidUtil
import com.ama.core.architecture.util.ResUtil import com.ama.core.architecture.util.ResUtil
import com.ama.core.architecture.util.eventbus.NotifyMan import com.ama.core.architecture.util.eventbus.NotifyMan
import com.ama.core.architecture.util.setOnClickBatch import com.ama.core.architecture.util.setOnClickBatch
import com.gamedog.vididin.VidiConst
import com.vididin.real.money.game.R import com.vididin.real.money.game.R
import com.gamedog.vididin.VididinEvents import com.gamedog.vididin.VididinEvents
import com.gamedog.vididin.core.login.login.AccountManager import com.gamedog.vididin.core.login.login.AccountManager
@ -116,7 +117,7 @@ class BenefitActivity : AppViewsActivity<ViewBinding, UiState, ViewModel>(), OnT
private fun handleActionButClicked(taskType: Int) { private fun handleActionButClicked(taskType: Int) {
when (taskType) { when (taskType) {
BOX_SUB_TASK_TYPE_AD -> { BOX_SUB_TASK_TYPE_AD -> {
Router.WatchAd.startActivity(this@BenefitActivity, VididinEvents.Event_AD_TASK_TYPE_BOX_TASK, null) Router.WatchAd.startActivity(this@BenefitActivity, VidiConst.WATCH_AD_FOR_BOX_TASK)
} }
BOX_SUB_TASK_TYPE_SIGN -> { BOX_SUB_TASK_TYPE_SIGN -> {

View File

@ -14,7 +14,6 @@ import com.ama.core.architecture.util.AndroidUtil
import com.ama.core.architecture.util.eventbus.NotifyMan import com.ama.core.architecture.util.eventbus.NotifyMan
import com.gamedog.vididin.VidiConst import com.gamedog.vididin.VidiConst
import com.gamedog.vididin.VididinEvents import com.gamedog.vididin.VididinEvents
import com.gamedog.vididin.main.fragments.task.DailySignSuccessDialog
import com.gamedog.vididin.main.interfaces.OnTabStyleListener import com.gamedog.vididin.main.interfaces.OnTabStyleListener
import dagger.hilt.android.AndroidEntryPoint import dagger.hilt.android.AndroidEntryPoint
import kotlin.getValue import kotlin.getValue
@ -59,9 +58,11 @@ class WatchAdActivity : AppViewsActivity<ViewBinding, UiState, ViewModel>(), OnT
private fun notifyAdWatchFinish() { private fun notifyAdWatchFinish() {
NotifyMan.instance().sendEvent(mTaskType, null) NotifyMan.instance().sendEvent(getNotifyEventType(mTaskType),
if (mTaskData.isNullOrEmpty()) null else AndroidUtil.json2Object<NotifyMan.NotifyData<Any>>(mTaskData!!))
if (mTaskType != VididinEvents.Event_AD_TASK_TYPE_Watch_Ad_Earn_Gold) { if (mTaskType != VidiConst.WATCH_AD_FOR_DAILY_EARN_GOLD
&& mTaskType != VidiConst.WATCH_AD_FOR_ZERO_EARN_DIAMOND) {
NotifyMan.instance().sendEvent(VididinEvents.Event_Finish_One_Ad, NotifyMan.NotifyData(1)) NotifyMan.instance().sendEvent(VididinEvents.Event_Finish_One_Ad, NotifyMan.NotifyData(1))
} }
} }
@ -87,6 +88,41 @@ class WatchAdActivity : AppViewsActivity<ViewBinding, UiState, ViewModel>(), OnT
mTaskData = intent.getStringExtra(KEY_TASK_DATA) mTaskData = intent.getStringExtra(KEY_TASK_DATA)
} }
private fun getNotifyEventType(taskType: Int) : Int {
when (taskType) {
VidiConst.WATCH_AD_FOR_WITHDRAW -> {
return VididinEvents.EVENT_AD_WATCHED_FOR_WITHDRAW
}
VidiConst.WATCH_AD_FOR_BOX_TASK -> {
return VididinEvents.EVENT_AD_WATCHED_FOR_BOX_TASK
}
VidiConst.WATCH_AD_FOR_ZERO_EARN_DIAMOND -> {
return VididinEvents.EVENT_AD_WATCHED_FOR_ZEROBUY_EARN_DIAMOND
}
VidiConst.WATCH_AD_FOR_DAILY_WATCH_AD -> {
return VididinEvents.EVENT_AD_WATCHED_FOR_DAILY_WATCH_AD
}
VidiConst.WATCH_AD_FOR_DAILY_EARN_GOLD -> {
return VididinEvents.EVENT_AD_WATCHED_FOR_EARN_GOLD
}
VidiConst.WATCH_AD_FOR_CONVERT_GOLD_2_CASH -> {
return VididinEvents.EVENT_AD_WATCHED_FOR_CONVERT_GOLD_2_CASH
}
}
return 0
}
override fun onDestroy() { override fun onDestroy() {
super.onDestroy() super.onDestroy()

View File

@ -9,7 +9,6 @@ import com.ama.core.architecture.widget.BindingDialog
import com.vididin.real.money.game.R import com.vididin.real.money.game.R
import com.gamedog.vididin.core.login.login.AccountManager import com.gamedog.vididin.core.login.login.AccountManager
import com.vididin.real.money.game.databinding.DialogWithdrawInfoConfirmBinding as ViewBinding import com.vididin.real.money.game.databinding.DialogWithdrawInfoConfirmBinding as ViewBinding
import com.gamedog.vididin.router.Router
class WithdrawInfoConfirmDialog(context: Activity, ) : BindingDialog<ViewBinding>(context, ViewBinding::inflate) { class WithdrawInfoConfirmDialog(context: Activity, ) : BindingDialog<ViewBinding>(context, ViewBinding::inflate) {
@ -55,11 +54,6 @@ class WithdrawInfoConfirmDialog(context: Activity, ) : BindingDialog<ViewBinding
} }
private fun gotoWatchVideo() {
Router.Withdraw.startActivity(mActivity)
}
fun setWithDrawCashNum(withdrawNum: Float): WithdrawInfoConfirmDialog { fun setWithDrawCashNum(withdrawNum: Float): WithdrawInfoConfirmDialog {
mWithdrawCashNum = withdrawNum mWithdrawCashNum = withdrawNum

View File

@ -2,8 +2,11 @@ package com.gamedog.vididin.features.withdraw.dialogs
import android.app.Activity import android.app.Activity
import com.ama.core.architecture.util.AndroidUtil
import com.ama.core.architecture.util.eventbus.NotifyMan
import com.ama.core.architecture.util.setOnClickBatch import com.ama.core.architecture.util.setOnClickBatch
import com.ama.core.architecture.widget.BindingDialog import com.ama.core.architecture.widget.BindingDialog
import com.gamedog.vididin.VidiConst
import com.gamedog.vididin.VididinEvents import com.gamedog.vididin.VididinEvents
import com.gamedog.vididin.router.Router import com.gamedog.vididin.router.Router
import com.vididin.real.money.game.R import com.vididin.real.money.game.R
@ -45,10 +48,8 @@ class WithdrawWatchAdDialog(context: Activity, private var mWithdrawCashNum: Flo
private fun gotoWatchVideo() { private fun gotoWatchVideo() {
Router.WatchAd.startActivity(mActivity, VididinEvents.Event_AD_TASK_WITHDRAW, null) val extraData = NotifyMan.NotifyData<Float>(mWithdrawCashNum)
Router.WatchAd.startActivity(mActivity, VidiConst.WATCH_AD_FOR_WITHDRAW, AndroidUtil.object2Json(extraData))
WithdrawFailDialog(mActivity).show()
WithdrawSuccessDialog(mActivity).show()
} }

View File

@ -13,6 +13,7 @@ import com.ama.core.architecture.util.AndroidUtil
import com.ama.core.architecture.util.CommonItemDecoration import com.ama.core.architecture.util.CommonItemDecoration
import com.ama.core.architecture.util.SpUtil import com.ama.core.architecture.util.SpUtil
import com.ama.core.architecture.util.setOnClickBatch import com.ama.core.architecture.util.setOnClickBatch
import com.gamedog.vididin.VidiConst
import com.gamedog.vididin.VididinEvents import com.gamedog.vididin.VididinEvents
import com.vididin.real.money.game.R import com.vididin.real.money.game.R
import com.gamedog.vididin.beans.ZeroBuyItem import com.gamedog.vididin.beans.ZeroBuyItem
@ -114,7 +115,7 @@ class ZeroBuyActivity : AppViewsEmptyViewModelActivity<ViewBinding>() {
} }
private fun gotoEarnDiamond() { private fun gotoEarnDiamond() {
Router.WatchAd.startActivity(this, VididinEvents.Event_AD_TASK_EARN_DIAMOND, null) Router.WatchAd.startActivity(this, VidiConst.WATCH_AD_FOR_ZERO_EARN_DIAMOND)
} }
//----------------------- start ----------------------------- //----------------------- start -----------------------------

View File

@ -20,13 +20,13 @@ object AccountManager {
NotifyMan.instance().register(object: NotifyMan.ICallback(true) { NotifyMan.instance().register(object: NotifyMan.ICallback(true) {
override fun onEvent(data: NotifyMan.NotifyData<*>?) { override fun onEvent(data: NotifyMan.NotifyData<*>?) {
when (data?.mEventType) { when (data?.mEventType) {
VididinEvents.Event_AD_TASK_EARN_DIAMOND -> { VididinEvents.EVENT_AD_WATCHED_FOR_ZEROBUY_EARN_DIAMOND -> {
addDiamond(VidiConst.DIAMOND_NUM_FOR_ONE_AD) addDiamond(VidiConst.DIAMOND_NUM_FOR_ONE_AD)
} }
} }
} }
}, VididinEvents.Event_AD_TASK_EARN_DIAMOND) }, VididinEvents.EVENT_AD_WATCHED_FOR_ZEROBUY_EARN_DIAMOND)
} }
private val mAccount: Account? by lazy { private val mAccount: Account? by lazy {

View File

@ -114,7 +114,7 @@ class MainActivity : AppViewsActivity<ViewBinding, UiState, ViewModel>(), OnTabS
registerEvents( { data-> registerEvents( { data->
when (data?.mEventType) { when (data?.mEventType) {
VididinEvents.Event_AD_TASK_TYPE_Watch_Ad_Earn_Gold-> { VididinEvents.EVENT_AD_WATCHED_FOR_EARN_GOLD-> {
DailySignSuccessDialog(this@MainActivity).initData(VidiConst.WATCH_AD_REWARD_GOLD.toInt(), false).show() DailySignSuccessDialog(this@MainActivity).initData(VidiConst.WATCH_AD_REWARD_GOLD.toInt(), false).show()
} }
@ -123,7 +123,7 @@ class MainActivity : AppViewsActivity<ViewBinding, UiState, ViewModel>(), OnTabS
} }
} }
}, VididinEvents.Event_AD_TASK_TYPE_Watch_Ad_Earn_Gold, VididinEvents.EVENT_JUMP_2_VIDEO) }, VididinEvents.EVENT_AD_WATCHED_FOR_EARN_GOLD, VididinEvents.EVENT_JUMP_2_VIDEO)
} }
override fun ViewBinding.initObservers() { override fun ViewBinding.initObservers() {

View File

@ -7,7 +7,7 @@ import com.vididin.real.money.game.databinding.DialogWatchVideoBinding
import com.gamedog.vididin.router.Router import com.gamedog.vididin.router.Router
class WatchAdDialog(context: Activity, private val mTaskType: Int, private val mGoldNum: Int? = 0, class WatchAdDialog(context: Activity, private val mWatchAdType: Int, private val mGoldNum: Int? = 0,
private val mTaskDataJson: String? = "") private val mTaskDataJson: String? = "")
: BindingDialog<DialogWatchVideoBinding>(context, DialogWatchVideoBinding::inflate) { : BindingDialog<DialogWatchVideoBinding>(context, DialogWatchVideoBinding::inflate) {
@ -39,7 +39,7 @@ class WatchAdDialog(context: Activity, private val mTaskType: Int, private val m
} }
private fun gotoWatchVideo() { private fun gotoWatchVideo() {
Router.WatchAd.startActivity(mActivity, mTaskType, mTaskDataJson) Router.WatchAd.startActivity(mActivity, mWatchAdType, mTaskDataJson)
dismiss() dismiss()
} }

View File

@ -84,7 +84,7 @@ class TasksFragment : AppViewsFragment<ViewBinding, UiState, ViewModel>(), OnTab
} }
llTaskWatchAd->{ llTaskWatchAd->{
WatchAdDialog(requireActivity(), VididinEvents.Event_AD_TASK_TYPE_Watch_Ad_Earn_Gold, 200).show() WatchAdDialog(requireActivity(), VidiConst.WATCH_AD_FOR_DAILY_EARN_GOLD, 200).show()
} }
llTaskGame->{ llTaskGame->{
@ -96,7 +96,7 @@ class TasksFragment : AppViewsFragment<ViewBinding, UiState, ViewModel>(), OnTab
} }
tvWatchVideoForConvertGoldToCash->{ tvWatchVideoForConvertGoldToCash->{
WatchAdDialog(requireActivity(), VididinEvents.Event_AD_TASK_TYPE_Convert_Gold_2_Cash, null).show() WatchAdDialog(requireActivity(), VidiConst.WATCH_AD_FOR_CONVERT_GOLD_2_CASH, null).show()
} }
tvWithdraw->{ tvWithdraw->{
@ -410,7 +410,7 @@ class TasksFragment : AppViewsFragment<ViewBinding, UiState, ViewModel>(), OnTab
val subTaskState = subTaskList[itemIndex] val subTaskState = subTaskList[itemIndex]
when (subTaskState.state) { when (subTaskState.state) {
STATE_ONGOING -> { STATE_ONGOING -> {
WatchAdDialog(requireActivity(), VididinEvents.Event_AD_TASK_TYPE_Watch_Ad_Daily, null).show() WatchAdDialog(requireActivity(), VidiConst.WATCH_AD_FOR_DAILY_WATCH_AD, null).show()
} }
STATE_FINISH -> { STATE_FINISH -> {
if (TaskManager.instance().dailyWatchAdStatus().claimSubTaskReward(itemIndex)) { if (TaskManager.instance().dailyWatchAdStatus().claimSubTaskReward(itemIndex)) {

View File

@ -68,7 +68,7 @@ class HomeItemFragment : AppViewsEmptyViewModelFragment<ViewBinding>() {
Router.Benefit.startActivity(requireActivity()) Router.Benefit.startActivity(requireActivity())
}, },
PopMenuIconView.MenuItem(R.mipmap.home_menu_2) { PopMenuIconView.MenuItem(R.mipmap.home_menu_2) {
WatchAdDialog(requireActivity(), VididinEvents.Event_AD_TASK_TYPE_Watch_Ad_Earn_Gold, null).show() WatchAdDialog(requireActivity(), VidiConst.WATCH_AD_FOR_DAILY_EARN_GOLD, null).show()
}, },
PopMenuIconView.MenuItem(R.mipmap.home_menu_3) { PopMenuIconView.MenuItem(R.mipmap.home_menu_3) {
AndroidUtil.openUrl(VidiConst.URL_GAME) AndroidUtil.openUrl(VidiConst.URL_GAME)

View File

@ -104,16 +104,16 @@ class TaskManager private constructor() {
NotifyMan.instance().register(object : NotifyMan.ICallback(true) { NotifyMan.instance().register(object : NotifyMan.ICallback(true) {
override fun onEvent(data: NotifyMan.NotifyData<*>?) { override fun onEvent(data: NotifyMan.NotifyData<*>?) {
when (data?.mEventType) { when (data?.mEventType) {
VididinEvents.Event_AD_TASK_TYPE_Convert_Gold_2_Cash -> { VididinEvents.EVENT_AD_WATCHED_FOR_CONVERT_GOLD_2_CASH -> {
AccountManager.convertGold2Cash() AccountManager.convertGold2Cash()
} }
VididinEvents.Event_AD_TASK_TYPE_Watch_Ad_Earn_Gold -> { VididinEvents.EVENT_AD_WATCHED_FOR_EARN_GOLD -> {
AccountManager.addGold(VidiConst.WATCH_AD_REWARD_GOLD) AccountManager.addGold(VidiConst.WATCH_AD_REWARD_GOLD)
} }
} }
} }
}, VididinEvents.Event_AD_TASK_TYPE_Convert_Gold_2_Cash, VididinEvents.Event_AD_TASK_TYPE_Watch_Ad_Earn_Gold) }, VididinEvents.EVENT_AD_WATCHED_FOR_CONVERT_GOLD_2_CASH, VididinEvents.EVENT_AD_WATCHED_FOR_EARN_GOLD)
} }

View File

@ -24,7 +24,7 @@ interface IRouterSplash {
} }
interface IRouterWatchAd { interface IRouterWatchAd {
fun startActivity(activity: Activity, taskType: Int, taskDataJson: String?) fun startActivity(activity: Activity, taskType: Int, taskDataJson: String? = null)
} }