【推送】播放广告时可以点击推送信息返回游戏界面中
This commit is contained in:
parent
60fa7faa2f
commit
e5797d5f80
|
|
@ -45,12 +45,18 @@
|
|||
android:name="com.gamedog.vididin.main.MainActivity"
|
||||
android:screenOrientation="portrait" android:exported="true"
|
||||
android:launchMode="singleTask" >
|
||||
</activity>
|
||||
|
||||
<activity-alias
|
||||
android:name="com.gamedog.vididin.main.MainActivityAlias"
|
||||
android:targetActivity="com.gamedog.vididin.main.MainActivity"
|
||||
android:exported="true"
|
||||
android:enabled="true">
|
||||
<intent-filter>
|
||||
<action android:name="com.remax.notification.ACTION_OPEN_APP" />
|
||||
<category android:name="android.intent.category.DEFAULT" />
|
||||
</intent-filter>
|
||||
</activity>
|
||||
|
||||
</activity-alias>
|
||||
|
||||
<activity android:name="com.gamedog.vididin.login.LoginActivity" android:exported="false" />
|
||||
<activity android:name="com.gamedog.vididin.features.benefit.BenefitActivity" android:exported="false" />
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
package com.gamedog.vididin
|
||||
|
||||
object VididinEvents {
|
||||
|
||||
const val Event_Sign_State_Changed = 600
|
||||
const val Event_Account_Gold_Changed = 601
|
||||
const val Event_Account_Cash_Changed = 602
|
||||
|
|
@ -46,6 +47,9 @@ object VididinEvents {
|
|||
const val EVENT_JUMP_2_SIGN= 902
|
||||
|
||||
|
||||
const val AD_ACT_SHOWING = 951
|
||||
const val AD_ACT_DESTROY = 952
|
||||
|
||||
|
||||
// Withdraw related
|
||||
const val EVENT_WITHDRAW_SUB_ITEM_PROGRESS_UPDATED = 500
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@ package com.gamedog.vididin.features.watchad
|
|||
|
||||
import android.app.Activity
|
||||
import android.content.Intent
|
||||
import android.os.Bundle
|
||||
import android.os.CountDownTimer
|
||||
import android.view.LayoutInflater
|
||||
import androidx.core.view.ViewCompat
|
||||
|
|
@ -159,6 +160,13 @@ class WatchAdActivity : AppViewsEmptyViewModelActivity<ViewBinding>(), OnTabStyl
|
|||
override fun onDestroy() {
|
||||
super.onDestroy()
|
||||
mCountDownTimer.cancel()
|
||||
|
||||
NotifyMan.instance().sendEvent(VididinEvents.AD_ACT_DESTROY, null)
|
||||
}
|
||||
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
NotifyMan.instance().sendEvent(VididinEvents.AD_ACT_SHOWING, null)
|
||||
}
|
||||
|
||||
override fun ViewBinding.initObservers() {
|
||||
|
|
@ -184,7 +192,7 @@ class WatchAdActivity : AppViewsEmptyViewModelActivity<ViewBinding>(), OnTabStyl
|
|||
if (!mIsLoadSuccess) {
|
||||
handleLoadFailed()
|
||||
}
|
||||
}, 3000)
|
||||
}, 30000)
|
||||
|
||||
|
||||
try {
|
||||
|
|
|
|||
|
|
@ -2,8 +2,10 @@ package com.gamedog.vididin.main
|
|||
|
||||
import android.app.Activity
|
||||
import android.content.BroadcastReceiver
|
||||
import android.content.ComponentName
|
||||
import android.content.Intent
|
||||
import android.content.IntentFilter
|
||||
import android.content.pm.PackageManager
|
||||
import android.view.LayoutInflater
|
||||
import androidx.activity.addCallback
|
||||
import androidx.activity.viewModels
|
||||
|
|
@ -12,7 +14,6 @@ import androidx.fragment.app.FragmentManager
|
|||
import androidx.fragment.app.FragmentManager.FragmentLifecycleCallbacks
|
||||
import androidx.lifecycle.lifecycleScope
|
||||
import androidx.viewpager2.widget.ViewPager2
|
||||
import com.ama.core.architecture.BaseApp
|
||||
import com.ama.core.architecture.appBase.AppViewsActivity
|
||||
import com.ama.core.architecture.appBase.OnFragmentBackgroundListener
|
||||
import com.ama.core.architecture.ext.toast
|
||||
|
|
@ -39,7 +40,6 @@ 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
|
||||
|
|
@ -82,6 +82,8 @@ class MainActivity : AppViewsActivity<ViewBinding, UiState, ViewModel>(), OnTabS
|
|||
|
||||
|
||||
override fun ViewBinding.initViews() {
|
||||
onAdShowingStateChanged(true)
|
||||
|
||||
activityLauncher = ActivityLauncher(this@MainActivity)
|
||||
|
||||
navigatorAdapter = MainTabsAdapter(
|
||||
|
|
@ -146,9 +148,18 @@ class MainActivity : AppViewsActivity<ViewBinding, UiState, ViewModel>(), OnTabS
|
|||
VididinEvents.EVENT_JUMP_2_VIDEO-> {
|
||||
switchTab(0)
|
||||
}
|
||||
|
||||
VididinEvents.AD_ACT_SHOWING-> {
|
||||
onAdShowingStateChanged(true)
|
||||
}
|
||||
|
||||
VididinEvents.AD_ACT_DESTROY-> {
|
||||
onAdShowingStateChanged(false)
|
||||
}
|
||||
}
|
||||
|
||||
}, VididinEvents.EVENT_AD_WATCHED_FOR_EARN_GOLD, VididinEvents.EVENT_JUMP_2_VIDEO)
|
||||
}, VididinEvents.EVENT_AD_WATCHED_FOR_EARN_GOLD, VididinEvents.EVENT_JUMP_2_VIDEO,
|
||||
VididinEvents.AD_ACT_SHOWING, VididinEvents.AD_ACT_DESTROY)
|
||||
}
|
||||
|
||||
override fun ViewBinding.initObservers() {
|
||||
|
|
@ -186,35 +197,48 @@ class MainActivity : AppViewsActivity<ViewBinding, UiState, ViewModel>(), OnTabS
|
|||
reportStatistics(intent, true)
|
||||
}
|
||||
|
||||
|
||||
private fun onAdShowingStateChanged(isAdShowing: Boolean) {
|
||||
val newState = if (isAdShowing) {
|
||||
PackageManager.COMPONENT_ENABLED_STATE_DISABLED
|
||||
} else {
|
||||
PackageManager.COMPONENT_ENABLED_STATE_ENABLED
|
||||
}
|
||||
|
||||
packageManager.setComponentEnabledSetting(
|
||||
ComponentName(this, "com.gamedog.vididin.main.MainActivityAlias"),
|
||||
newState,
|
||||
PackageManager.DONT_KILL_APP
|
||||
)
|
||||
}
|
||||
|
||||
fun switchTab(itemIndex: Int) {
|
||||
binding.viewPager2.setCurrentItem(itemIndex, false)
|
||||
}
|
||||
|
||||
private fun handleNotificationAction() {
|
||||
if (NotificationLandingController.isFromNotification(intent)) {
|
||||
if (BaseApp.getCurrentActivity()?.localClassName?.contains("WatchAdActivity") != true) {
|
||||
val notificationAction = intent.getIntExtra(LANDING_NOTIFICATION_ACTION, -1)
|
||||
when (notificationAction) {
|
||||
PushContent.ACTION_TYPE_GAME -> {
|
||||
Router.Game.startActivity(this)
|
||||
}
|
||||
|
||||
PushContent.ACTION_TYPE_GOLD -> {
|
||||
switchTab(1)
|
||||
}
|
||||
|
||||
PushContent.ACTION_TYPE_WITHDRAW -> {
|
||||
Router.Withdraw.startActivity(this)
|
||||
}
|
||||
|
||||
PushContent.ACTION_TYPE_BOX -> {
|
||||
Router.Benefit.startActivity(this)
|
||||
}
|
||||
val notificationAction = intent.getIntExtra(LANDING_NOTIFICATION_ACTION, -1)
|
||||
when (notificationAction) {
|
||||
PushContent.ACTION_TYPE_GAME -> {
|
||||
Router.Game.startActivity(this)
|
||||
}
|
||||
NotificationLandingController.clearNotificationParameters(intent)
|
||||
|
||||
sendNotificationClickStatistics(notificationAction)
|
||||
PushContent.ACTION_TYPE_GOLD -> {
|
||||
switchTab(1)
|
||||
}
|
||||
|
||||
PushContent.ACTION_TYPE_WITHDRAW -> {
|
||||
Router.Withdraw.startActivity(this)
|
||||
}
|
||||
|
||||
PushContent.ACTION_TYPE_BOX -> {
|
||||
Router.Benefit.startActivity(this)
|
||||
}
|
||||
}
|
||||
NotificationLandingController.clearNotificationParameters(intent)
|
||||
|
||||
sendNotificationClickStatistics(notificationAction)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue