IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> Android 一步步梳理Facebook登录流程 -> 正文阅读

[移动开发]Android 一步步梳理Facebook登录流程

目录

前言

准备

开始

总结

预告


前言

? ? ? ? 在国内做facebook,google登录或者支付还是有些麻烦的。首先要有梯子,然后还要一堆复杂的配置。最后测试起来还有一堆坑在等着你。对比起来,国内支付宝微信的登录支付就简单多了。

准备

  • 可以访问外网的环境
  • 注册facebook开发账号,Facebook 开发者
  • 创建应用,做各种配置(重点要配置获取信息的权限,测试账号)
  • 手机上下载一个facebook客户端,我们应用会调起

开始

? ? ? ? 到这里你应该是创建好应用了,点击你的应用进入应用首页,找到左侧有个登录选项,点击快速登录

? ? ? ? ?然后选择android,开始集成流程:

? ? ? ? ?大概看一下,总共10步,我们来看一下步骤:

  • 第一、二步是sdk集成,第一步是下载到本地集成,第二步是直接配置依赖。
  • 第三步是填入你的app包名和你拉起登录的activity的全路径
  • 第四步比较重要,也是大部分人遇到问题的地方,这里配置出错,登录时将会报错,我的报错信息是:将你登入到此应用程序时出错,请稍后再试。具体可以参考我另一篇文章(第三个问题解决):Android FaceBook登录问题记录
  • 第五步看需求,第六步直接cv,第七步看需求,第8步看需求,我用的是自定义的按钮,第九步和第十步直接参考代码来写

? ? ? ? ?这里列一下登录的流程代码:

//1.创建CallbackManager,接收登录回调信息
callbackManager = CallbackManager.Factory.create();

//2.注册登录监听
//如果你使用的是facebook sdk 提供的登录按钮:
loginButton = (LoginButton) findViewById(R.id.login_button);
loginButton.setReadPermissions("email");
// If using in a fragment
loginButton.setFragment(this);
// Callback registration
loginButton.registerCallback(callbackManager, new FacebookCallback<LoginResult>() {
    @Override
    public void onSuccess(LoginResult loginResult) {
        // App code
    }

    @Override
    public void onCancel() {
        // App code
    }

    @Override
    public void onError(FacebookException exception) {
        // App code
    }
});

//如果你使用自定义按钮
callbackManager = CallbackManager.Factory.create();
LoginManager.getInstance().registerCallback(callbackManager,
new FacebookCallback<LoginResult>() {
    @Override
    public void onSuccess(LoginResult loginResult) {
        // App code
    }

    @Override
    public void onCancel() {
        // App code
    }

    @Override
    public void onError(FacebookException exception) {
        // App code   
    }
});

//3.检查登录状态
AccessToken accessToken = AccessToken.getCurrentAccessToken();
boolean isLoggedIn = accessToken != null && !accessToken.isExpired();
  
//4.发起登录
LoginManager.getInstance().logInWithReadPermissions(this, Arrays.asList("public_profile"));
//这里public_profile表示你想要获取的权限,你也可以这样写
//LoginManager.getInstance().logInWithReadPermissions(this, //Arrays.asList("public_profile","email","user_photos));
//public_profile:允许应用在用户节点中读取默认公开资料字段。系统将自动向所有应用授予此权限。
//email:允许您的应用读取用户的首选邮箱。
//user_photos:允许您的应用读取用户上传到 Facebook 的照片。
//这里也是容易出现问题的地方,我们想要这些权限必须先在facebook应用首页-应用审核-权限和功能中将申请这些权限的高级访问权限才能使用,具体可参考(问题2):
//https://blog.csdn.net/baidu_38627723/article/details/120438988?spm=1001.2014.3001.5501

//5.在onActivityResult中接收登录回调,并转交给callbackManager处理
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    callbackManager.onActivityResult(requestCode, resultCode, data);
    super.onActivityResult(requestCode, resultCode, data);
}

//6.然后再第2步注册监听的地方会获取登录信息:如果成功会获取到LoginResult,可以拿到token交给服务器验证

//7.登出
LoginManager.getInstance().logInWithReadPermissions(activity, arrayListOf("public_profile"))

????????如果还需要集成Facebook的其他功能,如分享,应用连接等功能,可以参考:

facebook-android-sdkhttps://github.com/facebook/facebook-android-sdk

总结

? ? ? ? 以上即是本篇的全部内容,如有疑问和错误,欢迎评论指出,谢谢。

预告

? ? ? ? ?之后会继续推出Google,支付宝,微信等第三方登录,支付的文章。

  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2021-09-26 10:17:52  更:2021-09-26 10:19:15 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 19:35:56-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码