新增首页相关埋点

This commit is contained in:
huangjian
2021-12-20 15:08:39 +08:00
parent 9054c4fb69
commit eceb12b39c
10 changed files with 90 additions and 50 deletions

View File

@@ -12,6 +12,8 @@ import com.yizhuan.erban.common.widget.CircleImageView;
import com.yizhuan.erban.ui.user.UserInfoActivity;
import com.yizhuan.erban.ui.utils.ImageLoadUtilsV2;
import com.yizhuan.xchat_android_core.home.bean.HomeRoomInfo;
import com.yizhuan.xchat_android_core.statistic.StatisticManager;
import com.yizhuan.xchat_android_core.statistic.protocol.StatisticsProtocol;
import com.yizhuan.xchat_android_core.utils.StringExtensionKt;
public class HomeConcernsAdapter extends BaseQuickAdapter<HomeRoomInfo, BaseViewHolder> {
@@ -27,7 +29,7 @@ public class HomeConcernsAdapter extends BaseQuickAdapter<HomeRoomInfo, BaseView
}
CircleImageView circleImageView = helper.getView(R.id.civ_room_avatar);
ImageLoadUtilsV2.loadImage(circleImageView, item.getAvatar());
helper.setText(R.id.tv_room_name, StringExtensionKt.subAndReplaceDot(item.getNick(),4));
helper.setText(R.id.tv_room_name, StringExtensionKt.subAndReplaceDot(item.getNick(), 4));
if (item.getRoomUid() > 0) {
helper.setVisible(R.id.view_avatar_bg, true);
@@ -35,11 +37,15 @@ public class HomeConcernsAdapter extends BaseQuickAdapter<HomeRoomInfo, BaseView
if (helper.getView(R.id.view_living).getBackground() instanceof AnimationDrawable) {
((AnimationDrawable) helper.getView(R.id.view_living).getBackground()).start();
}
helper.itemView.setOnClickListener(v -> AVRoomActivity.startForFromType(mContext,
item.getRoomUid(),
AVRoomActivity.FROM_TYPE_USER,
item.getNick(),
String.valueOf(item.getUid())));
helper.itemView.setOnClickListener(v -> {
AVRoomActivity.startForFromType(mContext,
item.getRoomUid(),
AVRoomActivity.FROM_TYPE_USER,
item.getNick(),
String.valueOf(item.getUid()));
StatisticManager.Instance()
.onEvent(StatisticsProtocol.Event.EVENT_GZR_ROOM_SUCCESS, "喜欢tab点击关注的人进入房间");
});
} else {
helper.setVisible(R.id.view_avatar_bg, false);
helper.setVisible(R.id.view_living, false);

View File

@@ -28,47 +28,43 @@ import java.util.List;
public class HomeRoomFragmentAdapter extends BaseMultiItemQuickAdapter<HomeTabMapInfo, BaseViewHolder> {
private Context mContext;
private boolean mIsHome;
/**
* 校验跳转房间的频率
*/
public HomeRoomFragmentAdapter(Context context, List<HomeTabMapInfo> data,boolean isHome) {
super(data);
addItemType(HomeTabMapInfo.TYPE_NORMAL,R.layout.item_home_tab_map);
addItemType(HomeTabMapInfo.TYPE_EMPTY,R.layout.item_erban_grid_empty);
public HomeRoomFragmentAdapter(Context context) {
super(null);
addItemType(HomeTabMapInfo.TYPE_NORMAL, R.layout.item_home_tab_map);
addItemType(HomeTabMapInfo.TYPE_EMPTY, R.layout.item_erban_grid_empty);
this.mContext = context;
this.mIsHome = isHome;
}
protected void convert(@NonNull BaseViewHolder helper, HomeTabMapInfo item) {
if (item == null) {
return;
}
switch (helper.getItemViewType()){
switch (helper.getItemViewType()) {
case HomeTabMapInfo.TYPE_NORMAL:
helper.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (mIsHome){
StatisticManager.Instance().onEvent(StatisticsProtocol.Event.EVENT_HOME_INTO_TJ_ROOM_CLICK, "首页_进入推荐房间");
}else {
StatisticManager.Instance().onEvent(StatisticsProtocol.Event.EVENT_MORE_ROOM_INTO_ROOM_CLICK, "更多房间页_进入房间");
}
AVRoomActivity.startForFromType(mContext, item.getRoomUid(),AVRoomActivity.FROM_TYPE_RECOMMEND);
StatisticManager.Instance().onEvent(StatisticsProtocol.Event.EVENT_TJ_ROOM_SUCCESS, "首页_进入推荐房间");
AVRoomActivity.startForFromType(mContext, item.getRoomUid(), AVRoomActivity.FROM_TYPE_RECOMMEND);
}
});
helper.setText(R.id.tv_online_number,item.getOnlineNum()+"")
helper.setText(R.id.tv_online_number, item.getOnlineNum() + "")
.setText(R.id.tv_title, item.getTitle());
//注意这里有三个标签,展示优先级 PK中>自定义>房间标签
helper.setGone(R.id.tv_tag_in_pk, item.isCrossPking());
helper.setGone(R.id.iv_tab_label, mIsHome || item.isCrossPking());
helper.setGone(R.id.tv_tag_content, mIsHome && !TextUtils.isEmpty(item.getIconContent()))
.setText(R.id.tv_tag_content,item.getIconContent());
helper.setGone(R.id.tv_tag_content, !TextUtils.isEmpty(item.getIconContent()) && !item.isCrossPking())
.setText(R.id.tv_tag_content, item.getIconContent());
ImageView mIvTabLabel = helper.getView(R.id.iv_tab_label);
if (!TextUtils.isEmpty(item.getTagPict()) && !mIsHome && !item.isCrossPking()) {
if (!TextUtils.isEmpty(item.getTagPict()) && !item.isCrossPking() && TextUtils.isEmpty(item.getIconContent())) {
mIvTabLabel.setVisibility(View.VISIBLE);
ImageLoadUtils.loadAvatarBig(item.getTagPict(), mIvTabLabel);
} else {
@@ -86,9 +82,9 @@ public class HomeRoomFragmentAdapter extends BaseMultiItemQuickAdapter<HomeTabMa
}
break;
case HomeTabMapInfo.TYPE_EMPTY:
case HomeTabMapInfo.TYPE_EMPTY:
break;
break;
}

View File

@@ -10,6 +10,8 @@ import com.yizhuan.erban.home.helper.BannerHelper
import com.yizhuan.erban.ui.utils.ImageLoadUtilsV2
import com.yizhuan.erban.ui.utils.load
import com.yizhuan.xchat_android_core.home.bean.HomeRoomInfo
import com.yizhuan.xchat_android_core.statistic.StatisticManager
import com.yizhuan.xchat_android_core.statistic.protocol.StatisticsProtocol
import com.yizhuan.xchat_android_core.utils.TextUtils
@@ -22,19 +24,23 @@ class RoomHotAdapter : BaseMultiItemQuickAdapter<HomeRoomInfo, BaseViewHolder>(n
override fun convert(helper: BaseViewHolder, item: HomeRoomInfo) {
if (item.itemType == HomeRoomInfo.TYPE_ROOM) {
helper.apply {
getView<ImageView>(R.id.iv_room_image).load(item.avatar)
setText(R.id.tv_online_number, "${item.onlineNum}")
setText(R.id.tv_room_title, item.title)
itemView.setOnClickListener {
AVRoomActivity.start(mContext, item.uid)
}
setText(R.id.tv_id, "ID:${item.erbanNo}")
helper.itemView.setOnClickListener {
AVRoomActivity.start(mContext, item.uid)
StatisticManager.Instance()
.onEvent(StatisticsProtocol.Event.EVENT_RM_ROOM_SUCCESS, "热门进入房间")
}
helper.setVisible(R.id.iv_room_tag, !TextUtils.isEmptyText(item.tagPict))
ImageLoadUtilsV2.loadImage(helper.getView(R.id.iv_room_tag), item.tagPict)
helper.getView<ImageView>(R.id.iv_room_image).load(item.avatar)
helper.setText(R.id.tv_online_number, "${item.onlineNum}")
helper.setText(R.id.tv_room_title, item.title)
helper.setText(R.id.tv_id, "ID:${item.erbanNo}")
helper.setVisible(R.id.tv_in_pk, item.isCrossPking)
helper.setVisible(R.id.iv_room_tag, !TextUtils.isEmptyText(item.tagPict))
helper.getView<ImageView>(R.id.iv_room_tag).load(item.tagPict)
val avatars: Array<ImageView> = arrayOf(
helper.getView(R.id.iv_avatar_0),
helper.getView(R.id.iv_avatar_1),
@@ -48,10 +54,9 @@ class RoomHotAdapter : BaseMultiItemQuickAdapter<HomeRoomInfo, BaseViewHolder>(n
avatars[i].load(avatarUrl)
}
} else {
BannerHelper.setBanner(helper.getView(R.id.roll_view),item.bannerVoList)
BannerHelper.setBanner(helper.getView(R.id.roll_view), item.bannerVoList)
}
}
}

View File

@@ -10,6 +10,8 @@ import com.yizhuan.erban.ui.user.UserInfoActivity
import com.yizhuan.erban.ui.utils.ImageLoadUtilsV2
import com.yizhuan.erban.ui.utils.load
import com.yizhuan.xchat_android_core.home.bean.HomeRoomInfo
import com.yizhuan.xchat_android_core.statistic.StatisticManager
import com.yizhuan.xchat_android_core.statistic.protocol.StatisticsProtocol
import com.yizhuan.xchat_android_core.utils.TextUtils
@@ -41,6 +43,8 @@ class RoomLikeAdapter : BaseQuickAdapter<HomeRoomInfo, BaseViewHolder>(R.layout.
}
helper.itemView.setOnClickListener {
AVRoomActivity.start(mContext, item.roomUid)
StatisticManager.Instance()
.onEvent(StatisticsProtocol.Event.EVENT_SCFJ_ROOM_SUCCESS, "成功进入收藏的房间")
}
if (item.isValid) {
helper.setGone(R.id.tv_online_number, true)

View File

@@ -60,7 +60,7 @@ public class HomePlayFragment extends BaseFragment {
playAdapter.setOnItemClickListener((adapter, view, position) -> {
HomeRoomInfo homePlayInfo = playAdapter.getItem(position);
if (homePlayInfo != null) {
StatisticManager.Instance().onEvent(StatisticsProtocol.Event.EVENT_HOME_INTO_LTJY_ROOM_CLICK, "点击聊天交友项进入房间");
StatisticManager.Instance().onEvent(StatisticsProtocol.Event.EVENT_KH_ROOM_SUCCESS, "点击组队开黑进入房间");
AVRoomActivity.startForFromType(mContext, homePlayInfo.getUid(), AVRoomActivity.FROM_TYPE_RECOMMEND);
}
});

View File

@@ -116,7 +116,7 @@ public class HomeTabHomeFragment extends BaseFragment {
private void initRecyclerView() {
recyclerView.setLayoutManager(new LinearLayoutManager(getContext()));
recyclerView.setItemAnimator(null);
mHomeRoomAdapter = new HomeRoomFragmentAdapter(getContext(), null, true);
mHomeRoomAdapter = new HomeRoomFragmentAdapter(getContext());
mHomeRoomAdapter.setEnableLoadMore(false);
GridLayoutManager gridLayoutManager = new GridLayoutManager(getContext(), ROWS);
mHomeRoomAdapter.setEnableLoadMore(false);

View File

@@ -12,19 +12,17 @@ import com.scwang.smartrefresh.layout.internal.ProgressDrawable
import com.yizhuan.erban.R
import com.yizhuan.erban.avroom.activity.AVRoomActivity
import com.yizhuan.erban.avroom.adapter.RoomVPAdapter
import com.yizhuan.erban.base.BaseActivity
import com.yizhuan.erban.base.BaseFragment
import com.yizhuan.erban.common.widget.dialog.DialogManager
import com.yizhuan.erban.databinding.FragmentRecommendBinding
import com.yizhuan.erban.home.HomeViewModel
import com.yizhuan.erban.home.adapter.MainMagicIndicatorAdapter
import com.yizhuan.erban.home.dialog.RecommendRoomDialog
import com.yizhuan.erban.home.helper.BannerHelper
import com.yizhuan.erban.home.helper.OpenRoomHelper
import com.yizhuan.erban.ui.utils.load
import com.yizhuan.erban.ui.webview.CommonWebViewActivity
import com.yizhuan.erban.ui.widget.magicindicator.ViewPagerHelper
import com.yizhuan.erban.ui.widget.magicindicator.buildins.commonnavigator.CommonNavigator
import com.yizhuan.xchat_android_core.auth.AuthModel
import com.yizhuan.xchat_android_core.home.event.RefreshHomeDataEvent
import com.yizhuan.xchat_android_core.initial.InitialModel
import com.yizhuan.xchat_android_core.statistic.StatisticManager
@@ -44,6 +42,10 @@ class RecommendFragment : BaseFragment(),
private val homeViewModel: HomeViewModel by activityViewModels()
//仅埋点使用,不影响业务逻辑
private val abcArray = arrayOf("A", "B", "C")
private var currMatchClick = abcArray[0]
companion object {
fun newInstance(): RecommendFragment {
val args = Bundle()
@@ -91,9 +93,16 @@ class RecommendFragment : BaseFragment(),
mBinding.ivResource1,
mBinding.ivResource2
)
for (i in resourceViews.indices) {
resourceViews[i].load(it[i].icon)
resourceViews[i].setOnClickListener { _ ->
currMatchClick = abcArray[i]
StatisticManager.Instance().onEvent(
"${currMatchClick}_match_click",
"资源位点击",
mapOf("user_id" to AuthModel.get().currentUid.toString())
)
if (it[i].resourceType == 5) {
CommonWebViewActivity.start(context, it[i].resourceContent)
} else {
@@ -109,6 +118,11 @@ class RecommendFragment : BaseFragment(),
it?.let {
if (it.isPick) {
AVRoomActivity.start(context, it.uid)
StatisticManager.Instance().onEvent(
"${currMatchClick}_match_success ",
"资源位匹配成功",
mapOf("user_id" to AuthModel.get().currentUid.toString())
)
} else {
RecommendRoomDialog.newInstance(it).show(context)
}
@@ -164,10 +178,8 @@ class RecommendFragment : BaseFragment(),
return
}
mBinding.viewPager.currentItem = position
if (position == 1) {
StatisticManager.Instance()
.onEvent(StatisticsProtocol.Event.EVENT_HOME_SCREEN_DONG_TAI_CLICK, "首页_聊天交友切换到动态")
}
StatisticManager.Instance()
.onEvent(StatisticsProtocol.Event.EVENT_TJ_TABEXCHANGE, "用户切换tab次数,热门房间or组队开黑")
}
@Subscribe(threadMode = ThreadMode.MAIN)

View File

@@ -13,6 +13,7 @@ import com.yizhuan.erban.home.adapter.RoomCommonAdapter
import com.yizhuan.erban.ui.utils.RVDelegate
import com.yizhuan.xchat_android_core.home.bean.HomeRoomInfo
import com.yizhuan.xchat_android_core.home.event.RefreshHomeDataEvent
import com.yizhuan.xchat_android_core.statistic.StatisticManager
import org.greenrobot.eventbus.EventBus
import org.greenrobot.eventbus.Subscribe
import org.greenrobot.eventbus.ThreadMode
@@ -49,7 +50,11 @@ class RoomCommonFragment : BaseViewBindingFragment<FragmentRoomCommonBinding>()
.setRecyclerView(binding.recyclerView)
.build()
mAdapter.setOnItemClickListener { _, _, position ->
mAdapter.getItem(position)?.let { AVRoomActivity.start(context, it.roomUid) }
mAdapter.getItem(position)?.let {
AVRoomActivity.start(context, it.roomUid)
StatisticManager.Instance()
.onEvent("tab${tabID}_success_room", "通过派对tab下面的房间成功进房的统计")
}
}
mAdapter.setOnLoadMoreListener({
loadData(false)

View File

@@ -107,6 +107,10 @@ public class StatisticManager {
mStatisticModel.onEvent(BasicConfig.INSTANCE.getAppContext(), eventName, eventLabel, null);
}
public void onEvent(String eventName, String eventLabel, Map<String, String> arguments) {
mStatisticModel.onEvent(BasicConfig.INSTANCE.getAppContext(), eventName, eventLabel, arguments);
}
/*********************************************统计方法 end *********************************************/

View File

@@ -568,7 +568,15 @@ public class StatisticsProtocol {
EVENT_UPDATE_OPTIONALPOPUP_NOW("update_optionalpopup_now"),//更新_提示更新弹窗_立即更新
EVENT_UPDATE_FORCEPOPUP("update_forcepopup"),//更新_强制更新弹窗
EVENT_UPDATE_FORCEPOPUP_NOW("update_forcepopup_now"),//更新_强制更新弹窗_立即更新
EVENT_OPERATIONAL_ROOM_SUCCESS("operational_room_success");//赛事详情进入聊天室
EVENT_OPERATIONAL_ROOM_SUCCESS("operational_room_success"),//赛事详情进入聊天室
EVENT_RM_ROOM_SUCCESS("RM_room_success"),
EVENT_TJ_TABEXCHANGE("TJ_tabexchange"),
EVENT_TJ_ROOM_SUCCESS("TJ_room_success"),
EVENT_GZR_ROOM_SUCCESS("GZR_room_success"),
EVENT_SCFJ_ROOM_SUCCESS("SCFJ_room_success"),
EVENT_KH_ROOM_SUCCESS("KH_room_success");
private String name;