Android集成Facebook第三方登录,全流程

首次接触海外项目,开发环节与测试流程刚开始搞得一头雾水,历时两周终于把登录和支付调通了,特此记录下;

不过总结下来,与国内流程不同的点,主要是测试流程,需要专门的测试账号与测试权限才能测通

首先打开开发文档,地址如下,跟着开发文档一步步走就好,细节上官方文档没有提到的或容易忽视的,我在后续步骤均已书写,跟着走没问题的

Faccebook登录开发文档地址

1. 新建应用很简单,自行按分类新建。建一个就可以,ios和android

    在里面各自配置就好

2. 集成sdk使用maven

  • //导入当前最新版,如果不止集成登录功能用这个全的

       implementation 'com.facebook.android:facebook-android-sdk:[11,12)'

  • AndroidManifest.xml 中添加
        
        
        

        

        
            

                
                

                
            
        

3. 生成秘钥散列前提准备:

安装:openssl-for-windows OpenSSL 库

准备好keystore或jks文件,要用到该文件的地址;以下 xxx == jks或keystore名

  • 生成开发密钥散列

keytool -exportcert -alias androiddebugkey -keystore D:/heiyanabroad-app/app/xxx.keystore| openssl sha1 -binary | openssl base64

  • 生成发布密钥散列

keytool -exportcert -alias xxx -keystore D:/heiyanabroad-app/app/xxx.jks | openssl sha1 -binary | openssl base64

  • 注意:

1.我debug运行的时候需要填的是发布秘钥散列;

2.还有我是首次上传到google play,让Google 管理应用签名密钥,上传到google发布后,需要生成一个新的秘钥,在google:应用-设置-应用完整性,下载上传秘钥证书

Android集成Facebook第三方登录,全流程_第1张图片

keytool -import -file D:/heiyanabroad-app/app/upload_cert.der -keystore D:/heiyanabroad-app/app/adcadc.keystore

  • 生成的秘钥都填到facebook这里来:

     Android集成Facebook第三方登录,全流程_第2张图片

4. 登录按钮,官方文档给出的是封装好的,不好用,可以用自定义的

     Android集成Facebook第三方登录,全流程_第3张图片

     Android集成Facebook第三方登录,全流程_第4张图片

     activity的onCreate()里:

     Android集成Facebook第三方登录,全流程_第5张图片

  • 退出登录:LoginManager.getInstance().logOut();
  • 检查登录状态:

AccessToken accessToken = AccessToken.getCurrentAccessToken();

boolean isLoggedIn = accessToken != null && !accessToken.isExpired();

  • 获取Facebook用户信息:

      Android集成Facebook第三方登录,全流程_第6张图片

      Android集成Facebook第三方登录,全流程_第7张图片

5. 测试

应用未在google play上架前,测试的时候需要登录开发者facebook账号,用来测试;或者如下方式添加测试者账号;

      Android集成Facebook第三方登录,全流程_第8张图片

  • 测试账号与开发者账号加好友
  • 选择用户身份,测试账号

       Android集成Facebook第三方登录,全流程_第9张图片

  • 然后测试者会出现待回复,此时在电脑端登录测试者的账号,消息里找到邀请信息,接受,就可以用这个测试账号登录app了

        Android集成Facebook第三方登录,全流程_第10张图片

 

你可能感兴趣的:(第三方,android)