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