今天公司一个项目要集成第三方的认证登录,第一次做这种第三方登录,而且因为大陆访问不了 facebook,所以花了比较长的时间才实现功能。其中也有一些需要注意的地方,记录一下,也跟大家一起交流。
一、facebook(这个事前需要翻墙,原因大家都懂的,不翻墙连第一步注册都做不了)
1、申请 facebook 开发者帐号
网址:https://developers.facebook.com/?no_redirect=1&ref=gray_bar_logo_click
2、创建应用
(1)点击右上角可以登录、创建应用
(2)进入对应应用的设置页面,根据官网的提示一步一步进行设置,这里就不多赘述
【keyHash的获取见文章末】
3、客户端配置(Android Studio)
(1)在 string.xml 文件中定义好 appID 和 protocolScheme(appID 在创建好的应用里可以看到,直接复制就行)
在 AndroidManifest.xml 文件中配置 (位于 application 标签内)
(2)导入 facebook sdk 的依赖包(我用的版本是4.15.0,不知道是什么原因,使用 4.6.0 或者 4.42.0都会导致下载包的时候缺包,最后使用 4.15.0 的版本就不会,知道原因的小伙伴评论指点我一下)
(3)初始化 SDK(在 Activity 或者 Application 的 onCreate() 中调用,最好放在视图初始化之前,我一开始放在视图初始化之后然后失败了)
(4)注册 CallBackManager 的回调
(5)布局文件,我只放了一个官方默认的原始 button ,没有进行自定义的封装(样式如下图所示)
(6)后面就是实现了,直接上代码
(7)onActivityResult 回调
附录:在代码中获取 keyHash(也是直接上代码,keyHash 直接打印出来,复制之后在第二步中去设置就好了)