思路分享:判断是否是历史用户(适用于用户数据迁移)
做过微信系产品开发的同学都知道微信有一套账户体系。
用户在每个应用都有一个openid,如果想打通账号体系就必须注册微信开放平台,关联公众号或者小程序才能获取unionid来唯一区分用户。
当然根据最新的规范 已经不需要去开放平台关联应用了,直接可以拿到unionid。
那么如果在无法获取unionid的情况:
举个例子:因为某些限制,新产品必须以新主体注册挂靠。
这时,如果已经有历史用户数据(比如基于公众号的某一业务),怎么去判断一个新用户(例如小程序用户)是同一用户呢?
这里提供一个暴力的方法:就是根据用户的头像以及昵称来判断。
这里首先说明一下,同一个用户如果注册使用不同主体的小程序,虽然头像一样但是返回用户信息里头像的url是不同的(有兴趣的可以自己去验证一下)。
拿到用户的头像及昵称之后可以进行如下的判断
- 看用户昵称是否相同
- 头像相似度是否达到98%以上
如果二者都满足的话那么基本可以判断是同一用户了,但是这个方法只适用于短期内的用户数据迁移,如果时间过久,用户会修改自己的基本信息,那时会降低准确性,毕竟信息是有时效性的。