对于QQ、微博、微信第三方登录的思考
今天聊聊注册、登录环节中很常见的第三方登录,如QQ、微信、支付宝、新浪微博等。虽然这些产品的开放平台都提供了标准的接入文档,但是在接入时还有些问题需要想清楚。
1 第三方登录目的
第三方登录的目的很简单,就是利用用户在其他平台上频繁使用的账号,来快速登录你的产品,达到不注册就登录的目的。
2 第三方登录好处
第三方登录的好处,显而易见。
不需要注册账号,直接使用已有的QQ号、微信等登录。减少了注册环节,减少了因为注册而流失的用户。
可以直接获取用户昵称、头像等信息,省去再次填写昵称、上传头像的麻烦。
共享QQ、微信等账号已有的用户关系,用户进入产品中就能找到熟悉的人,容易留住用户。
多数情况下,还减少了登录时账号和密码输入,通过点击就完成了登录。
3 第三方登录不足
当然第三方登录,相比自建账号体系(产品提供手机、邮箱注册),也存在短板。最大的短板来自对用户后续营销信息的触达。
使用第三方登录,相当于为了便捷性,放弃了自建账号体系中对用户手机号、邮箱的获取,后续不能通过手机短信、邮箱将营销信息推送给用户。
4 什么类型应用适用于第三方登录
不是所有应用都适合第三方登录。
一般来说,对于工具型、游戏型、内容型等应用,注重的是工具的使用、内容的提供,适合把第三方登录放在优先的位置,甚至只提供第三方登录就行,免去用户注册。
对于电商类应用,注重自己账号体系的建立、注重用户后续的营销,第三方登录只是作为补充,将第三方登录置于较弱的位置,为新没有账号的用户提供快速登录。
对于支付类、金融类应用,强调安全性、强调隐私性,一般不提供第三方登录。如果这些类型应用提供第三方登录,让用户觉得不安全,感觉自己的信息会通过第三方授权泄露出去。
看看你的应用属于什么类型,是不是合适第三方登录,第三方登录应该置于什么样的权重下。
5 第三方登录对于昵称的处理
你的产品如果对于昵称限制不严格,比如昵称不唯一、可修改等。可以直接将用户第三方账号的昵称作为用户昵称,写到数据库里。至于第三方昵称有更新,你的产品可以不随着更新,头像也如此。
你的产品如果对于昵称限制比较严格,比如昵称唯一、昵称不能带某些敏感词、昵称不可修改等。可以直接显示用户第三方昵称,但是不需要写入到数据库中,用户仍然可以在你的产品中填写自己的昵称。
6 第三方登录后不要再引导填写各类信息
对于第三方登录后,不少产品进一步引导用户绑定手机号、绑定邮箱、绑定已有的账号、设置昵称等操作。这就违背了你使用第三方登录的初衷。使用第三方登录,本来就是想让注册、登录变得简单,你这样一搞,比注册一个完整账号还复杂。
这些操作如果是必须的,可以在后面的流程中再去引导。比如领取优惠券时需要填写手机号,那这时再引导填写手机号。
7 QQ、微信登录中存在的问题
在接入第三方登录过程中,常遇到到pc网站和移动应用使用同一个QQ号登录后,生成两个账号的尴尬。
如果你还没有新建移动应用,解决方法是:
1)首先在http://connect.qq.com申请网站接入,取得网站应用的AppId、AppKey
2)然后在http://open.qq.com/申请创建 移动应用,在“关联QQ互联APPID”提示弹窗上,选择“是”并输入网站APP ID 和APP KEY。这其实是一个绑定的过程。如下图:
如果你已经新建了移动应用,但是没有和网站应用绑定,解决办法是给腾讯客服connect@qq.com发邮件,让腾讯那边帮助进行人工绑定处理:
1)告知网站应用APPID和移动应用APPID
2)指定其中一个APPID作为主APPID,将另一个APPID绑定在主APPID下(哪个APPID作为主APPID的依据是,哪个APPID对应的应用有用户登录数据。如果2个应用都登录数据,那需要看你舍弃哪个)
多个移动应用和网站应用绑定,也是这个思路,需要联系腾讯客服进行处理。
微信对于多个应用使用同一个微信号登录返回同一个账号的处理很简单。一个unionid机制来实现。微信对于unionid说明如下:
如果开发者拥有多个移动应用、网站应用和公众帐号,可通过获取用户基本信息中的unionid来区分用户的唯一性,因为只要是同一个微信开放平台帐号下的移动应用、网站应用和公众帐号,用户的unionid是唯一的。
对于微博、支付宝等第三方登录,都应该有类似的机制。只是QQ登录的处理比较麻烦。