集成Facebook SDK之Facebook登录

来源:简书 分类: 文章浏览史 发布时间:2020-08-26 15:49:01 最后更新:2020-08-26 浏览:816
转载声明:
本文为摘录自“简书”,版权归原作者所有。
温馨提示:
为了更好的体验,请点击原文链接进行浏览
摘录时间:
2020-08-26 15:49:01

前言

昨天公司已经同意了提交的辞职申请,但目前还需要一段时间进行项目的交接。所以利用这段空闲时间整理几篇技术文章,用于对自己的巩固。

准备工作

  1. 保证自己的网络已经翻墙,能够进入Facebook网页

  2. 一个FB开发者账号,如若没有可以免费申请,附上官方网址

流程

  1. 点击我的应用-添加新应用,创建新的应用

  2. 点击快速入门,选择Android平台,然后按照FB的要求一步步走完即可。


    图1
其中有一下几点需要注意:
图2
  1. 2.导入Facebook SDK中,最好不要用
implementation 'com.facebook.android:facebook-android-sdk:[4,5)'

而是改用

implementation ("com.facebook.android:facebook-android-sdk:4.26.0") {
        exclude module: 'support-v4'
    }

原因有两点:1.是去掉FB sdk中的v4包防止support包的重复引用,2.指定具体的版本而不是[4,5)是为了防止随着FB SDK的更新而导致sdk集成失败。

  1. 4.添加开发和发布密钥散列中除了官方的获取方法外,还可以通过代码:
try {
            PackageInfo info = getActivity().getPackageManager().getPackageInfo(getActivity().getPackageName(), PackageManager.GET_SIGNATURES);
            for (Signature signature : info.signatures) {
                MessageDigest md = MessageDigest.getInstance("SHA");
                md.update(signature.toByteArray());
                String KeyHash = Base64.encodeToString(md.digest(), Base64.DEFAULT);
                Log.d("KeyHash:", "KeyHash:" + KeyHash);//两次获取的不一样  此处取第一个的值
                //           Toast.makeText(this, "FaceBook HashKey:"+KeyHash, Toast.LENGTH_SHORT).show();
            }
        } catch (PackageManager.NameNotFoundException e) {
        } catch (NoSuchAlgorithmException e) {
        }

然后打包成正式包运行来获得。

  1. FB登录按钮的集成有两种方式:
  • 1.使用官方的按钮LoginButton按钮代码:

<com.facebook.login.widget.LoginButton
    android:id="@+id/login_button"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center_horizontal"
    android:layout_marginTop="30dp"
    android:layout_marginBottom="30dp" /> 
  • 2.自定义登录按钮,然后通过代码实现:
 LoginManager.getInstance().logInWithReadPermissions(AppLoginActivity.this, Arrays.asList("public_profile", "user_friends"));
  1. 生成测试用户,点击用户身份-测试用户。可以生成多个FB测试账户用于测试。

  2. 目前APP还是在开发状态,在APP上架之前还需要将FB项目对外公开,不然普通用户依旧无法登陆。点击应用审核-确认对外公开即可。

总结

好了,到目前为止已经集成了Facebook登录,总的来说比较简单,按照官方的步骤一步步实现就好。

后续还会有FB的分享、好友邀请、点赞等功能集成的文章,请继续关注。如有什么问题,可以联系我,联系方式:

简书地址:http://www.jianshu.com/p/16efe98d4554/)

E-mail:931675174@qq.com

php技术微信