3.2 动态注册虽然灵活 , 但是对于统计来说麻烦
动态注册就是在设备第一次启动激活的时候 , 上传设备的信息 , 包括:序列号、MAC(蓝牙+WiFi)、IMEI和AndroidID 。
但是这些信息不一定能获取到 。
IMEI , 国际移动设备识别码(International Mobile Equipment Identity , IMEI)
IMEI本该最理想的设备ID , 具备唯一性 , 恢复出厂设置不会变化(真正的设备相关) 。
但是Android6.0以后 , 就需要用户授权才能使用 , 而且在Android10.0以后 , 就会彻底拒绝获取IMEI 。
并且 , IMEI其实只有通讯的设备才会有 , 如果没有通讯(简单理解 , 就是电话卡)模块的话 , 也不一定有IMEI号 。
序列号(SN)
设备序列号由厂商提供 , 如果厂商比较规范的话 , 序列号应该是唯一的 , 也不会随刷机或恢复出厂设置等改变 。
但是你不能把利益建立在人性的基础上 , 那太不靠谱 。所以序列号 , 其实更多只能作为辅助信息来进行判断 。
MAC地址
MAC地址一般指蓝牙MAC、WiFi Mac或者是两者的拼接 。但是获取同样需要权限 , 而且如果设备没有蓝牙模块 , 没有WiFi模块的话 , 也不一定有MAC地址 。
Android ID
Android ID 是获取门槛最低的 , 不需要任何权限 , 64bit 的取值范围 , 唯一性算是很好的了 。但是不足之处也很明显:刷机、root、恢复出厂设置等会使得 Android ID 改变
所以 , 我们在设计动态注册激活逻辑的时候 , 就需要考虑到这些情况 。
动态注册的激活逻辑 , 就是每次激活的时候 , 后台记录设备上传的四个设备信息(有的不一定有) 。
然后每次其他设备激活的时候 , 就把该要激活的设备信息在已激活的设备信息记录中进行比对 , 比对的规则有两方面:
所上报的设备信息种类是否一致 , 种类指的是四种设备信息所上报的设备信息是否一致
这样的激活逻辑 , 虽然能保证最大程度的识别出不同的设备 , 但是会给统计激活设备上(统计是为了收钱)造成麻烦 。
例如 , AndroidID , 会随着刷机、恢复出厂设置而改变 。这就会成为客户扯皮的点 。
客户会说:“我并没有更换设备 , 只是因为设备故障需要刷机或者恢复出厂设置 , 你就多收我一台设备的钱 , 当我是冤大头吗?”
虽然这可以通过商务的手段去解决 , 但是还是那句话 , 客户是霸霸嘛 。
其实 , 从上面我们描述四大设备信息的特征来看 , AndroidID具有如下优秀属性:
一定能获取到;只有刷机操作才会改变 , 无法人为指定 。
所以 , 完全可以以AndroidID作为主要依据 , 只要AndroidID一致 , 不管其他参数种类和参数值是否相同 , 都可以认为是一台设备 。
我们只需要找出那些 , 因为刷机或恢复出厂设置导致AndroidID改变的设备 , 而这些是客户扯皮的主要部分 。
因此 , 在我们给设备动态注册的时候 , 要采用严格的规则 , 只要有一点不一样 , 就重新注册设备信息 。
但是在统计激活的设备信息上 , 可以根据一定的规则 , 将具有争议的注册设备信息给统计出来 , 做到扯皮也是要有准备和技术含量的 。
推荐阅读
- 密室逃脱3=2是什么意思-密室逃脱拼场人不够怎么办
- 菠萝有酒味是坏了吗-菠萝的酒味是属于酒精吗
- 空心人是什么
- 冬枣烂了吃了有什么关系-冬枣坏了是什么样的
- 年夜饭有外卖吗-一般年夜饭什么时间定合适
- 吃年夜饭要不要包红包-年夜饭红包饭前还是饭后
- 本命年红绳一定要大年三十戴还是可以提早戴-本命年红绳大年三十带吗
- 虫草发霉是怎么样的-虫草发霉是什么原因
- 床单起球是质量问题吗-床单什么材质不起球
- 乳胶漆起壳是什么原因-墙面起壳掉皮怎么办