diff --git a/app/src/main/java/com/yizhuan/erban/MainActivity.java b/app/src/main/java/com/yizhuan/erban/MainActivity.java index 22a8f6dae..1400a0755 100644 --- a/app/src/main/java/com/yizhuan/erban/MainActivity.java +++ b/app/src/main/java/com/yizhuan/erban/MainActivity.java @@ -484,6 +484,7 @@ public class MainActivity extends BaseMvpActivity handleLinkedJump(); if (PmDialogShowMrg.get().isHasShow()) { if (DemoCache.readNewUserChargeGift() == 1) { + StatisticManager.Instance().onEvent(StatisticsProtocol.EVENT_NUGIFT_POP_SHOW, "新人专享礼物弹窗曝光"); NewUserChargeGiftDialog.start(context); DemoCache.saveNewUserChargeGift(2); } diff --git a/app/src/main/java/com/yizhuan/erban/avroom/activity/AVRoomActivity.java b/app/src/main/java/com/yizhuan/erban/avroom/activity/AVRoomActivity.java index 630bbd6eb..a9e81aab4 100644 --- a/app/src/main/java/com/yizhuan/erban/avroom/activity/AVRoomActivity.java +++ b/app/src/main/java/com/yizhuan/erban/avroom/activity/AVRoomActivity.java @@ -1099,6 +1099,7 @@ public class AVRoomActivity extends BaseMvpActivity { + StatisticManager.Instance().onEvent(StatisticsProtocol.EVENT_TASK_TOAST_CLICK,"任务完成toast点击(跳转活动页"); llTaskTips.setVisibility(View.GONE); CommonWebViewActivity.start(this, event.getTaskUrl()); }); diff --git a/app/src/main/java/com/yizhuan/erban/avroom/dialog/NewUserGiftDialog.kt b/app/src/main/java/com/yizhuan/erban/avroom/dialog/NewUserGiftDialog.kt index d1a58ac0b..d548dcca6 100644 --- a/app/src/main/java/com/yizhuan/erban/avroom/dialog/NewUserGiftDialog.kt +++ b/app/src/main/java/com/yizhuan/erban/avroom/dialog/NewUserGiftDialog.kt @@ -4,18 +4,20 @@ import com.yizhuan.erban.base.BaseDialog import com.yizhuan.erban.databinding.DialogNewUserGiftBinding import com.yizhuan.erban.ui.utils.load import com.yizhuan.xchat_android_core.gift.bean.GiftInfo +import com.yizhuan.xchat_android_core.statistic.StatisticManager +import com.yizhuan.xchat_android_core.statistic.protocol.StatisticsProtocol class NewUserGiftDialog(val giftInfo: GiftInfo) : BaseDialog() { override fun init() { - + StatisticManager.Instance().onEvent(StatisticsProtocol.EVENT_ROOM_NUGIVE_POP_SHOW, "房间礼物赠送弹窗曝光") binding.ivClose.setOnClickListener { + StatisticManager.Instance().onEvent(StatisticsProtocol.EVENT_ROOM_NUGIVE_POP_CLICK, "房间礼物赠送弹窗关闭点击") dismissAllowingStateLoss() } binding.ivGift.load(giftInfo.giftUrl) - binding.tvGiftName.text = "${giftInfo.giftName}*1" - + binding.tvGiftName.text = "${giftInfo.giftName}*${giftInfo.count}" } } \ No newline at end of file diff --git a/app/src/main/java/com/yizhuan/erban/avroom/newuserchargegift/NewUserChargeGiftDialog.kt b/app/src/main/java/com/yizhuan/erban/avroom/newuserchargegift/NewUserChargeGiftDialog.kt index d436d3a14..c6ea3a62a 100644 --- a/app/src/main/java/com/yizhuan/erban/avroom/newuserchargegift/NewUserChargeGiftDialog.kt +++ b/app/src/main/java/com/yizhuan/erban/avroom/newuserchargegift/NewUserChargeGiftDialog.kt @@ -8,6 +8,7 @@ import android.text.Spannable import android.text.SpannableStringBuilder import android.text.style.ForegroundColorSpan import android.view.Gravity +import android.view.View import android.view.WindowManager import androidx.core.view.isInvisible import androidx.core.view.isVisible @@ -16,11 +17,11 @@ import androidx.recyclerview.widget.RecyclerView import com.netease.nim.uikit.common.util.sys.ScreenUtil import com.netease.nim.uikit.common.util.sys.TimeUtil import com.trello.rxlifecycle3.android.ActivityEvent -import com.trello.rxlifecycle3.android.FragmentEvent import com.yizhuan.erban.R import com.yizhuan.erban.avroom.firstcharge.SelectPayTypeDialog import com.yizhuan.erban.bank_card.activity.AddBankCardAgreementActivity import com.yizhuan.erban.base.BaseViewBindingActivity +import com.yizhuan.erban.common.widget.dialog.DialogManager import com.yizhuan.erban.common.widget.dialog.DialogManager.AbsOkDialogListener import com.yizhuan.erban.databinding.DialogNewUserChargeGiftBinding import com.yizhuan.erban.ui.setting.ModifyPwdActivity @@ -33,11 +34,11 @@ import com.yizhuan.xchat_android_core.pay.PaymentActivity import com.yizhuan.xchat_android_core.pay.bean.FirstChargeGoods import com.yizhuan.xchat_android_core.pay.bean.FirstChargeReward import com.yizhuan.xchat_android_core.pay.bean.PaymentResult -import com.yizhuan.xchat_android_core.pay.event.FirstChargeEvent import com.yizhuan.xchat_android_core.pay.event.NewUserChargeEvent import com.yizhuan.xchat_android_core.pay.model.unionpay.UnionPayModel +import com.yizhuan.xchat_android_core.statistic.StatisticManager +import com.yizhuan.xchat_android_core.statistic.protocol.StatisticsProtocol import com.yizhuan.xchat_android_core.user.UserModel -import com.yizhuan.xchat_android_core.user.bean.UserInfo import com.yizhuan.xchat_android_core.utils.CurrentTimeUtils import com.yizhuan.xchat_android_core.utils.toast import com.yizhuan.xchat_android_library.annatation.ActLayoutRes @@ -83,6 +84,12 @@ class NewUserChargeGiftDialog : BaseViewBindingActivity bannerInfoList; private LayoutInflater mInflater; - private boolean isHomeGame; private int roundingRadius = -1; private OnItemClickListener mOnItemClickListener; @@ -43,10 +42,6 @@ public class BannerAdapter extends StaticPagerAdapter { this.bannerInfoList = bannerInfoList; } - public void setHomeGame(boolean homeGame) { - isHomeGame = homeGame; - } - public void setOnItemClickListener(OnItemClickListener onItemClickListener) { this.mOnItemClickListener = onItemClickListener; } @@ -66,9 +61,6 @@ public class BannerAdapter extends StaticPagerAdapter { if (mOnItemClickListener != null) { mOnItemClickListener.onItemClick(position, bannerInfo); } - if (isHomeGame) { - StatisticManager.Instance().onEvent(StatisticsProtocol.EVENT_HOME_BANNER_CLICK, "首页_banner"); - } }); return imgBanner; } diff --git a/app/src/main/java/com/yizhuan/erban/home/adapter/MeCenterAdapter.kt b/app/src/main/java/com/yizhuan/erban/home/adapter/MeCenterAdapter.kt index c2f981c97..b7ea451d2 100644 --- a/app/src/main/java/com/yizhuan/erban/home/adapter/MeCenterAdapter.kt +++ b/app/src/main/java/com/yizhuan/erban/home/adapter/MeCenterAdapter.kt @@ -7,6 +7,8 @@ import com.yizhuan.erban.R import com.yizhuan.erban.ui.im.RouterHandler import com.yizhuan.erban.ui.utils.load import com.yizhuan.xchat_android_core.room.bean.MeCenterInfo +import com.yizhuan.xchat_android_core.statistic.StatisticManager +import com.yizhuan.xchat_android_core.statistic.protocol.StatisticsProtocol class MeCenterAdapter : @@ -16,10 +18,16 @@ class MeCenterAdapter : helper.getView(R.id.iv_pic).load(item.centerPic) helper.setText(R.id.tv_name, item.centerName) - helper.setGone(R.id.iv_new,!item.centerBadge.isNullOrEmpty()) + helper.setGone(R.id.iv_new, !item.centerBadge.isNullOrEmpty()) helper.getView(R.id.iv_new).load(item.centerBadge) helper.itemView.setOnClickListener { RouterHandler.handle(mContext, item.skipType, item.centerUrl) + StatisticManager.Instance() + .onEvent( + StatisticsProtocol.EVENT_USERCENTER_FUNCTION_CLIC, + "个人中心功能板块点击", + mapOf("function_name" to item.centerName) + ) } } diff --git a/app/src/main/java/com/yizhuan/erban/home/fragment/MeFragment.kt b/app/src/main/java/com/yizhuan/erban/home/fragment/MeFragment.kt index a4061c40b..d593b4a1e 100644 --- a/app/src/main/java/com/yizhuan/erban/home/fragment/MeFragment.kt +++ b/app/src/main/java/com/yizhuan/erban/home/fragment/MeFragment.kt @@ -13,10 +13,8 @@ import androidx.fragment.app.viewModels import androidx.recyclerview.widget.GridLayoutManager import androidx.recyclerview.widget.RecyclerView import androidx.viewpager.widget.PagerAdapter -import com.chad.library.adapter.base.BaseQuickAdapter import com.netease.nim.uikit.common.util.sys.TimeUtil import com.trello.rxlifecycle3.android.FragmentEvent -import com.yizhuan.erban.BuildConfig import com.yizhuan.erban.R import com.yizhuan.erban.UIHelper import com.yizhuan.erban.avroom.activity.AVRoomActivity @@ -28,6 +26,7 @@ import com.yizhuan.erban.home.HomeViewModel import com.yizhuan.erban.home.MeViewModel import com.yizhuan.erban.home.activity.RoomHistoryListActivity import com.yizhuan.erban.home.activity.VisitorListActivity +import com.yizhuan.erban.home.adapter.BannerAdapter import com.yizhuan.erban.home.adapter.MeCenterAdapter import com.yizhuan.erban.home.adapter.MeGameAdapter import com.yizhuan.erban.home.helper.BannerHelper @@ -40,9 +39,10 @@ import com.yizhuan.erban.ui.relation.FansListActivity import com.yizhuan.erban.ui.utils.ImageLoadUtils import com.yizhuan.erban.ui.utils.load import com.yizhuan.erban.ui.widget.OnPageSelectedListener -import com.yizhuan.erban.vip.VipMainActivity.Companion.start +import com.yizhuan.erban.vip.VipMainActivity import com.yizhuan.erban.vip.VipViewModel import com.yizhuan.xchat_android_core.auth.AuthModel +import com.yizhuan.xchat_android_core.home.bean.BannerInfo import com.yizhuan.xchat_android_core.home.event.VisitorUnreadCountEvent import com.yizhuan.xchat_android_core.im.custom.bean.CustomAttachment import com.yizhuan.xchat_android_core.level.UserLevelVo @@ -65,12 +65,9 @@ import com.yizhuan.xchat_android_core.utils.LogUtils import com.yizhuan.xchat_android_core.utils.StarUtils import com.yizhuan.xchat_android_library.rxbus.RxBusHelper import com.yizhuan.xchat_android_library.utils.FormatUtils -import com.yizhuan.xchat_android_library.utils.ListUtils -import com.yizhuan.xchat_android_library.utils.TimeUtils import io.reactivex.Observable import io.reactivex.android.schedulers.AndroidSchedulers import io.reactivex.disposables.Disposable -import io.reactivex.internal.operators.observable.ObservableRangeLong import org.greenrobot.eventbus.EventBus import org.greenrobot.eventbus.Subscribe import org.greenrobot.eventbus.ThreadMode @@ -137,7 +134,16 @@ class MeFragment : BaseFragment(), View.OnClickListener { mBinding.tvDiamondNum.text = FormatUtils.formatBigInteger(walletInfo.diamondNum) } meViewModel.bannerLiveData.observe(viewLifecycleOwner) { - BannerHelper.setBanner(mBinding.rollView, it) + BannerHelper.setBanner( + mBinding.rollView, it + ) { _, bannerInfo -> + StatisticManager.Instance() + .onEvent( + StatisticsProtocol.EVENT_USERCENTER_BANNER_CLICK, + "usercenter_banner_click", + mapOf("banner_id" to bannerInfo.bannerId.toString()) + ) + } } meViewModel.gameInfoListLiveData.observe(viewLifecycleOwner) { @@ -151,6 +157,12 @@ class MeFragment : BaseFragment(), View.OnClickListener { homeViewModel.pickRoomLiveData.observe(viewLifecycleOwner) { it?.let { AVRoomActivity.start(mContext, it.uid) + StatisticManager.Instance() + .onEvent( + StatisticsProtocol.EVENT_USERCENTER_QUICK_ENTRY_CLICK, + "个人中心功能板块点击", + mapOf("room_id" to it.erbanNo.toString()) + ) } } homeViewModel.openGameRoomLiveData.observe(viewLifecycleOwner) { @@ -392,6 +404,8 @@ class MeFragment : BaseFragment(), View.OnClickListener { mBinding.flNewUserCharge.isVisible = false it.printStackTrace() }) + StatisticManager.Instance() + .onEvent(StatisticsProtocol.EVENT_USERCENTER_NUGIFT_POP_SHOW, "新人专享礼物入口曝光") } else { mBinding.flNewUserCharge.isVisible = false } @@ -466,9 +480,12 @@ class MeFragment : BaseFragment(), View.OnClickListener { ) R.id.me_item_setting -> UIHelper.showSettingAct(mContext) R.id.me_item_vip -> { - start(mContext) + VipMainActivity.start(mContext) StatisticManager.Instance() .onEvent(StatisticsProtocol.EVENT_VIP_ENTRANCE_ME_CLICK, "贵族我的入口点击事件") + //后面产品新加的 + StatisticManager.Instance() + .onEvent(StatisticsProtocol.EVENT_USERCENTER_NOBLE_CARD_CLICK, "个人中心贵族卡片片点击") } R.id.me_item_skill -> start( mContext, @@ -476,9 +493,17 @@ class MeFragment : BaseFragment(), View.OnClickListener { AuthModel.get().currentUid ) R.id.tv_user_visitor -> VisitorListActivity.start(mContext) - R.id.me_item_wallet -> ChargeActivity.start(mContext) + R.id.me_item_wallet -> { + ChargeActivity.start(mContext) + StatisticManager.Instance() + .onEvent(StatisticsProtocol.EVENT_USERCENTER_RECHARGE_CARD_CLICK, "个人中心充值卡片点击") + } R.id.tv_user_history -> RoomHistoryListActivity.start(mContext) - R.id.fl_new_user_charge -> NewUserChargeGiftDialog.start(mContext) + R.id.fl_new_user_charge -> { + NewUserChargeGiftDialog.start(mContext) + StatisticManager.Instance() + .onEvent(StatisticsProtocol.EVENT_USERCENTER_NUGIFT_POP_CLICK, "usercenter_nugift_pop_click") + } else -> {} } } diff --git a/app/src/main/java/com/yizhuan/erban/home/fragment/RecommendFragment.kt b/app/src/main/java/com/yizhuan/erban/home/fragment/RecommendFragment.kt index 9311b896d..e62c7bfba 100644 --- a/app/src/main/java/com/yizhuan/erban/home/fragment/RecommendFragment.kt +++ b/app/src/main/java/com/yizhuan/erban/home/fragment/RecommendFragment.kt @@ -83,7 +83,10 @@ class RecommendFragment : BaseFragment(), .commitAllowingStateLoss() homeViewModel.bannerLiveData.observe(this) { - BannerHelper.setBanner(mBinding.rollView, it) + BannerHelper.setBanner(mBinding.rollView, it) { _, _ -> + StatisticManager.Instance() + .onEvent(StatisticsProtocol.EVENT_HOME_BANNER_CLICK, "首页_banner") + } } homeViewModel.resourceLiveData.observe(this) { diff --git a/app/src/main/java/com/yizhuan/erban/home/helper/BannerHelper.kt b/app/src/main/java/com/yizhuan/erban/home/helper/BannerHelper.kt index 19ccd89f2..c98dd6491 100644 --- a/app/src/main/java/com/yizhuan/erban/home/helper/BannerHelper.kt +++ b/app/src/main/java/com/yizhuan/erban/home/helper/BannerHelper.kt @@ -16,7 +16,11 @@ import com.yizhuan.xchat_android_library.utils.ListUtils class BannerHelper { companion object { - fun setBanner(rollView: RollPagerView, bannerList: List?) { + fun setBanner( + rollView: RollPagerView, + bannerList: List?, + onItemClickListener: BannerAdapter.OnItemClickListener? = null + ) { if (ListUtils.isListEmpty(bannerList)) { rollView.visibility = View.GONE @@ -59,7 +63,7 @@ class BannerHelper { }) val bannerAdapter = BannerAdapter(bannerList, rollView.context) bannerAdapter.setRoundingRadius(ScreenUtil.dip2px(8f)) - bannerAdapter.setHomeGame(true) + bannerAdapter.setOnItemClickListener(onItemClickListener) rollView.adapter = bannerAdapter rollView.setPlayDelay(3000) //设置透明度 diff --git a/app/src/main/java/com/yizhuan/erban/home/widget/AnchorCardView.kt b/app/src/main/java/com/yizhuan/erban/home/widget/AnchorCardView.kt index 45397374a..a2cbb1e2f 100644 --- a/app/src/main/java/com/yizhuan/erban/home/widget/AnchorCardView.kt +++ b/app/src/main/java/com/yizhuan/erban/home/widget/AnchorCardView.kt @@ -28,6 +28,8 @@ import com.yizhuan.erban.ui.user.decorationsend.UserInfoSkillDecoration import com.yizhuan.erban.ui.utils.load import com.yizhuan.erban.ui.utils.loadAvatar import com.yizhuan.xchat_android_core.room.bean.AnchorInfo +import com.yizhuan.xchat_android_core.statistic.StatisticManager +import com.yizhuan.xchat_android_core.statistic.protocol.StatisticsProtocol import com.yizhuan.xchat_android_core.user.bean.UserInfo import com.yizhuan.xchat_android_core.user.bean.UserInfoSkillEntity import com.yizhuan.xchat_android_library.utils.ListUtils @@ -75,11 +77,11 @@ class AnchorCardView @JvmOverloads constructor( } private fun setupData() { - count = 10 - initView() - startVibrate() - isVisible = true anchorInfo?.let { + count = 10 + initView() + startVibrate() + isVisible = true (binding.recyclerviewSkillCard.adapter as BaseQuickAdapter).setNewData( it.absCardPics ) @@ -94,8 +96,18 @@ class AnchorCardView @JvmOverloads constructor( } binding.tvGoRoom.setOnClickListener { _ -> AVRoomActivity.start(context, it.uid) + StatisticManager.Instance() + .onEvent( + StatisticsProtocol.EVENT_PERSONALSHOW_TOP_CARD_ROOM_CLICK, + "个播展示卡片进入房间点击", + mapOf("room_id" to it.erbanNo.toString()) + ) } intervalRange() + StatisticManager.Instance() + .onEvent(StatisticsProtocol.EVENT_PERSONALSHOW_TOP_CARD_SHOW, "个播展示卡片曝光") + } ?: run { + isVisible = false } } @@ -204,6 +216,9 @@ class AnchorCardView @JvmOverloads constructor( stopAudio() } }) + + StatisticManager.Instance() + .onEvent(StatisticsProtocol.EVENT_PERSONALSHOW_TOP_CARD_VOICE_CLICK, "个播展示卡片播放语音点击") } private fun stopAudio() { diff --git a/app/src/main/java/com/yizhuan/erban/ui/patriarch/PatriarchModeDialog.java b/app/src/main/java/com/yizhuan/erban/ui/patriarch/PatriarchModeDialog.java index c2b5b3043..0025d11c7 100644 --- a/app/src/main/java/com/yizhuan/erban/ui/patriarch/PatriarchModeDialog.java +++ b/app/src/main/java/com/yizhuan/erban/ui/patriarch/PatriarchModeDialog.java @@ -1,7 +1,6 @@ package com.yizhuan.erban.ui.patriarch; import android.content.Context; -import android.content.DialogInterface; import android.content.Intent; import android.graphics.Color; import android.graphics.drawable.ColorDrawable; @@ -14,10 +13,8 @@ import android.widget.ImageView; import android.widget.TextView; import com.yizhuan.erban.R; -import com.yizhuan.erban.avroom.newuserchargegift.NewUserChargeGiftDialog; import com.yizhuan.erban.base.BaseSdDialog; import com.yizhuan.erban.ui.widget.magicindicator.buildins.UIUtil; -import com.yizhuan.xchat_android_core.DemoCache; import butterknife.BindView; import butterknife.ButterKnife; @@ -55,12 +52,6 @@ public class PatriarchModeDialog extends BaseSdDialog { windowParams.gravity = Gravity.CENTER; window.setAttributes(windowParams); } - setOnDismissListener(dialog -> { - if (DemoCache.readNewUserChargeGift() == 1) { - NewUserChargeGiftDialog.start(context); - DemoCache.saveNewUserChargeGift(2); - } - }); } @OnClick({R.id.tv_set_pm, R.id.iv_close}) diff --git a/core/src/main/java/com/yizhuan/xchat_android_core/statistic/protocol/StatisticsProtocol.java b/core/src/main/java/com/yizhuan/xchat_android_core/statistic/protocol/StatisticsProtocol.java index 12b525e4f..846255c11 100644 --- a/core/src/main/java/com/yizhuan/xchat_android_core/statistic/protocol/StatisticsProtocol.java +++ b/core/src/main/java/com/yizhuan/xchat_android_core/statistic/protocol/StatisticsProtocol.java @@ -591,5 +591,31 @@ public interface StatisticsProtocol { String EVENT_RECENT_CARD_CLICK = "recent_card_click";//最近在看卡片点击 String EVENT_GEBO_TAB_CLICK = "gebo_tab_click";//个播页二级tab分类点击 + String EVENT_HOMEPAGE_POP_SHOW = "homepage_pop_show";//首页活动弹窗曝光 + String EVENT_HOMEPAGE_POP_CLICK = "homepage_pop_click";//首页活动弹窗图片点击(跳转H5) + String EVENT_HOMEPAGE_POP_CLOSE_CLICK = "homepage_pop_close_click";//首页活动弹窗关闭点击 + String EVENT_TASK_TOAST_SHOW = "task_toast_show";//任务完成toast曝光 + String EVENT_TASK_TOAST_CLICK = "task_toast_click";//任务完成toast点击(跳转活动页) + + String EVENT_ROOM_NUGIVE_POP_SHOW = "room_nugive_pop_show";//房间礼物赠送弹窗曝光 + String EVENT_ROOM_NUGIVE_POP_CLICK = "room_nugive_pop_click";//房间礼物赠送弹窗关闭点击 + + String EVENT_NUGIFT_POP_SHOW = "nugift_pop_show";//新人专享礼物弹窗曝光 + String EVENT_NUGIFT_POP_CLICK = "nugift_pop_click";//新人专享礼物弹窗充值点击 + String EVENT_NUGIFT_POP_CLOSE_CLICK = "nugift_pop_close_click";//新人专享礼物弹窗关闭点击 + String EVENT_USERCENTER_NUGIFT_POP_SHOW = "usercenter_nugift_pop_show";//新人专享礼物入口曝光 + String EVENT_USERCENTER_NUGIFT_POP_CLICK = "usercenter_nugift_pop_click";//新人专享礼物入口点击 + + String EVENT_PERSONALSHOW_TOP_CARD_SHOW = "personalshow_top_card_show";//个播展示卡片曝光 + String EVENT_PERSONALSHOW_TOP_CARD_ROOM_CLICK = "personalshow_top_card_room_click";//个播展示卡片进入房间点击 + String EVENT_PERSONALSHOW_TOP_CARD_VOICE_CLICK = "personalshow_top_card_voice_click";//个播展示卡片播放语音点击 + + String EVENT_USERCENTER_RECHARGE_CARD_CLICK = "usercenter_recharge_card_click";//个人中心充值卡片点击 + String EVENT_USERCENTER_NOBLE_CARD_CLICK = "usercenter_noble_card_click";//个人中心贵族卡片片点击 + String EVENT_USERCENTER_FUNCTION_CLIC = "usercenter_function_clicck";//个人中心功能板块点击 + String EVENT_USERCENTER_QUICK_ENTRY_CLICK = "usercenter_quick_entry_click";//个人中心功能板块点击 + String EVENT_USERCENTER_BANNER_CLICK = "usercenter_banner_click";//个人中心banner模块点击 + + }