Sfoglia il codice sorgente

feat: 补充发送IM埋点

wutiaorong 11 mesi fa
parent
commit
c5eb8912c8

+ 11 - 0
module/message/src/main/java/com/adealink/weparty/message/conversation/extension/emotion/EmotionBoardComp.kt

@@ -9,15 +9,19 @@ import com.adealink.frame.ext.parseIntExtra
 import com.adealink.frame.mvvm.view.ViewComponent
 import com.adealink.frame.mvvm.viewmodel.activityViewModels
 import com.adealink.frame.router.Router
+import com.adealink.frame.statistics.CommonEventValue
 import com.adealink.weparty.commonui.dialogfragment.BaseDialogFragment
+import com.adealink.weparty.commonui.ext.onSuccess
 import com.adealink.weparty.commonui.toast.util.showFailedToast
 import com.adealink.weparty.message.conversation.comp.IConversationCompCallback
 import com.adealink.weparty.message.conversation.extension.IExtensionBoard
 import com.adealink.weparty.message.conversation.viewmodel.WeConversationViewModel
+import com.adealink.weparty.message.stat.MessageDetailStatEvent
 import com.adealink.weparty.message.viewmodel.MessageViewModel
 import com.adealink.weparty.module.emotion.Emotion
 import com.adealink.weparty.module.emotion.EmotionModule
 import com.adealink.weparty.module.room.data.SendEmotionScene
+import com.adealink.weparty.stat.SendIMStatEvent
 
 class EmotionBoardComp(
     lifecycleOwner: LifecycleOwner,
@@ -39,6 +43,13 @@ class EmotionBoardComp(
         emotionViewModel?.clickedEmotionLD?.observe(viewLifecycleOwner) {
             val toUid = conversationViewModel.curTargetId?.toLongOrNull() ?: return@observe
             messageViewModel.sendEmotionMessage(it.first.id, toUid).observe(viewLifecycleOwner) { sendRlt ->
+                sendRlt.onSuccess {
+                    MessageDetailStatEvent(CommonEventValue.Action.BTN_CLICK).apply {
+                        btn to MessageDetailStatEvent.Btn.SEND_MSG
+                        opUid to toUid
+                    }.send()
+                    SendIMStatEvent().send()
+                }
                 showFailedToast(sendRlt)
             }
         }

+ 8 - 0
module/message/src/main/java/com/adealink/weparty/message/viewmodel/MessageViewModel.kt

@@ -9,12 +9,14 @@ import com.adealink.frame.mvvm.livedata.ExtMutableLiveData
 import com.adealink.frame.mvvm.livedata.OnceMutableLiveData
 import com.adealink.frame.mvvm.viewmodel.BaseViewModel
 import com.adealink.frame.oss.data.UploadFile
+import com.adealink.frame.statistics.CommonEventValue
 import com.adealink.weparty.App
 import com.adealink.weparty.message.conversation.message.EMOTION_MESSAGE_TYPE
 import com.adealink.weparty.message.conversation.message.EmotionMessage
 import com.adealink.weparty.message.datasource.remote.MessageHttpService
 import com.adealink.weparty.message.listener.IMessageListener
 import com.adealink.weparty.message.manager.messageManager
+import com.adealink.weparty.message.stat.MessageDetailStatEvent
 import com.adealink.weparty.module.account.AccountModule
 import com.adealink.weparty.module.couple.CoupleModule
 import com.adealink.weparty.module.couple.data.IntimacyPrivilegeType
@@ -27,6 +29,7 @@ import com.adealink.weparty.module.message.data.SendRCMessageReq
 import com.adealink.weparty.module.message.data.UpdateQuickMessageReq
 import com.adealink.weparty.module.message.viewmodel.IMessageViewModel
 import com.adealink.weparty.module.wallet.data.getErrorByServerError
+import com.adealink.weparty.stat.SendIMStatEvent
 import kotlinx.coroutines.launch
 
 class MessageViewModel : BaseViewModel(), IMessageViewModel, IMessageListener {
@@ -216,6 +219,11 @@ class MessageViewModel : BaseViewModel(), IMessageViewModel, IMessageListener {
     ): LiveData<Rlt<Any>> {
         val liveData = OnceMutableLiveData<Rlt<Any>>()
         viewModelScope.launch {
+            SendIMStatEvent().send()
+            MessageDetailStatEvent(CommonEventValue.Action.BTN_CLICK).apply {
+                btn to MessageDetailStatEvent.Btn.SEND_MSG
+                opUid to toUid
+            }.send()
             when (val rlt = messageManager.sendQuickMessage(
                 toUid = toUid,
                 message1 = message1,