很多场景都会用到icon配备红点提示的功能,其优点在于能够从入口处引导用户点击查看,对于强迫症用户来说更加能够引导曝光率。
在“赚钱”页面中,每一个宫格中的icon都会配有一个红点。
简单说,红点的展示内容和展示时机,由server控制;红点消失的时机,由点击控制。
对于一个完整的宫格数据,包含以下信息:
menu_id;//一个宫格的标识,全场唯一
name;// 名称,图标下面的文字信息
icon;// icon url 图标url
icon_remind;//右上角的角标文案
skip_url;//点击跳转的url
is_tp_url;//是否第三方url
tp_declare;//免责声明文案内容
remind_new_id;//标记icon_remind是否变化,本地存储
在判断是否展示红点的逻辑中,只需要判断两个东西:isClick(是否点击)和(icon_remind.equals(lastRemindNewId)).
判断流程图如下:
remind_new_id字段归根结底就是个md5。
通过上述机制,即保证了点击红点所在的宫格能够使得红点消失,也可以保证server在需要展示新的内容的时候,即便在点击过该宫格之后,依然能够重新唤起红点逻辑展示新的内容。