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

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

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

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

Faccebook登录开发文档地址

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

    在里面各自配置就好

2. 集成sdk使用maven

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

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

  • AndroidManifest.xml 中添加
        <!-- facebook    facebook_client_token:是应用-设置-高级-客户端口令        -->
        <meta-data
            android:name="com.facebook.sdk.ApplicationId"
            android:value="@string/facebook_app_id" />
        <meta-data
            android:name="com.facebook.sdk.ClientToken"
            android:value="@string/facebook_client_token" />

        <activity
            android:name="com.facebook.FacebookActivity"
            android:configChanges="keyboard|keyboardHidden|screenLayout|screenSize|orientation"
            android:label="@string/app_name" />

        <activity
            android:name="com.facebook.CustomTabActivity"
            android:exported="true">
            <intent-filter><action android:name="android.intent.action.VIEW" />

                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.BROWSABLE" />

                <data android:scheme="@string/fb_login_protocol_scheme" />
            </intent-filter>
        </activity>

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:应用-设置-应用完整性,下载上传秘钥证书

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

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

     

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

     

     

     activity的onCreate()里:

     

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

AccessToken accessToken = AccessToken.getCurrentAccessToken();

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

  • 获取Facebook用户信息:

      

      

5. 测试

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

      

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

       

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

        

 

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值