小程序没有unionid如何与App打通用户体系

本文探讨了如何处理因早期小程序未绑定开放平台导致的用户数据问题,通过小程序重新授权获取UnionID、设置多步登录流程,确保用户在不同平台间的无缝衔接,重点在于微信授权、UnionID应用和手机号登录的整合策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在前期只做了微信小程序而没有绑定微信开放平台所以用户只存了openid,但是后期我们又要做app了要与小程序共使用同一套用户体系,虽然后来已经将小程序和app绑定在了同一开放平台,但是app用微信授权只能获取到unionid,而小程序在绑定到开放平台之前的老用户是都没有unionid的。所以没有unionid这部分老用户在app端使用微信授权的话没有办法对应到小程序的用户相当于一个新的用户,这显然是不可以的,而且也没有办法使用手机号登录,因为只有少部分认证用户才有手机号,大部分人是没有办法通过手机号登录的。

于是我就想通过openid来换取unionid,如果可以批量换取的话我呢提就解决了,但是此路不通。翻阅各大社区论坛都没有合适的解决方案,官方也没有提供,但我们也不想让一个用户在平台上出现多个账号,只能另想办法。

最终在与同事沟通之后出了以下方案:
1.在小程序端用户重新授权之后获取到unionid同步到数据库。
2.如图:
登录流程图

小程序端授权登录优先使用unionid,次之使用openid做注册登录。
app端用微信授权登录对比unionid,次之使用小程序授权登录。
app端用手机号授权登录对比手机号,次之使用小程序授权登录。

在app端第一步不管选择微信授权登录还是手机号登录,第二步必须安排小程序授权登录。因为这样可以保证即时第一步登录失败了再进行第二步登录是一定成功的。结合数据的话,有openid没有unionid的用户不到三万,这部分用户在小程序内重新授权一次就可以得到unionid,所以没有unionid的用户会越来越少。有unionid的用户约9万,也就是大部分人可以通过微信授权直接登录,无法直接登陆的需要拉起小程序授权根据openid来判断后其是新用户还是老用户。绑定手机号的用户约5000,这5000人可以通过手机号直接登录成功,无法直接登陆的也是需要拉起小程序授权根据openid来判断后其是新用户还是老用户。这样的缺点就是部分用户需要经行两次授权才可以登陆成功,所以要首推微信登录,其次是手机号登录。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值