无法获取unionid时判断是否是同一用户的方法

2021-03-12 10:13:10 浏览数 (1)

思路分享:判断是否是历史用户(适用于用户数据迁移)

做过微信系产品开发的同学都知道微信有一套账户体系。

用户在每个应用都有一个openid,如果想打通账号体系就必须注册微信开放平台,关联公众号或者小程序才能获取unionid来唯一区分用户。

当然根据最新的规范 已经不需要去开放平台关联应用了,直接可以拿到unionid。

那么如果在无法获取unionid的情况:

举个例子:因为某些限制,新产品必须以新主体注册挂靠。

这时,如果已经有历史用户数据(比如基于公众号的某一业务),怎么去判断一个新用户(例如小程序用户)是同一用户呢?

这里提供一个暴力的方法:

就是根据用户的头像以及昵称来判断。

这里首先说明一下,同一个用户如果注册使用不同主体的小程序,虽然头像一样但是返回用户信息里头像的url是不同的(有兴趣的可以自己去验证一下)。

拿到用户的头像及昵称之后可以进行如下的判断

  • 看用户昵称是否相同
  • 头像相似度是否达到98%以上

如果二者都满足的话那么基本可以判断是同一用户了,但是这个方法只适用于短期内的用户数据迁移,如果时间过久,用户会修改自己的基本信息,那时会降低准确性,毕竟信息是有时效性的。

# 参考资料

  • 微信账户体系知识分享
  • 小程序登录、用户信息相关接口调整说明

0 人点赞