集成Facebook SDK之Facebook登录
前言
这几天应公司需求,需要在项目中接入facebook的登录,现在闲下来后再次巩固一下!
准备工作
- 保证自己的网络已经翻墙,能够进入Facebook网页
- 准备一个FB的开发者账号,如果没有可以免费申请,附上官方网址
流程
1、登录facebook后,点击左侧 “展开”栏,
2、选择点击管理应用---添加新应用,创建新的应用,然后根据自己的需求选择相应的用途,根据他的要求填写就可以了。
3、创建完毕后,添加产品时选择Facebook登录

4、点击设置后,选择Android平台,然后按照FB的步骤完成。
这里具体演示下这些步骤
1、下载这里就不讲解了
2、导入Facebook SDK

对应的在Android Studio中的是


对应的在Android Studio中的是
随后构建一下项目(点击上面锤子的icon按钮进行构建)
3、在FB上填写Android项目信息,填写完后要Save一下
4、添加密钥
这个根据文档去输入相应的命令就可以得到密钥了,不过有的设置了密码的就需要输入密钥密码才能得到密钥,然后在FB的文档中填入这个生成的密钥就可以了,也需要记得Save一下。
5、启用单点登录
这个单击启用单点登录,然后Save
6、根据Facebook上面的文档在AndroidStudio的相应位置添加代码
1、打开您的 /app/res/values/strings.xml 文件。
2、添加如下所示的代码:
<string name="facebook_app_id">应用编号</string> <string name="fb_login_protocol_scheme">fb+应用编号</string>
3、打开 /app/manifest/AndroidManifest.xml 文件。
4、在 application 元素后添加以下 uses-permission 元素:
<uses-permission android:name="android.permission.INTERNET"/>
5、在 application 元素中添加以下 meta-data 元素、一个针对 Facebook 的 activity 元素以及一个针对 Chrome 自定义选项卡的 activity 元素和意向筛选条件:
<meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/facebook_app_id"/> <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>
7、设置登录按钮
我这里是直接在项目中设置按钮登录
js代码
onClickLogin(){
jsb.reflection.callStaticMethod("org/cocos2dx/javascript/AppActivity", "LoginFb", "()V");
}
java代码
public static void LoginFb(){
LoginManager.getInstance().logInWithReadPermissions(sCocos2dxActivity, Arrays.asList("public_profile"));
}
8、注册回调
在AppActivity的onCreate方法中添加以下代码
sCocos2dxActivity = this;
callbackManager = CallbackManager.Factory.create();
LoginManager.getInstance().registerCallback(callbackManager, new FacebookCallback<LoginResult>() {
@Override
public void onSuccess(LoginResult loginResult) {
Toast.makeText(getApplicationContext(), "facebook登录成功" + loginResult.getAccessToken().getUserId(), Toast.LENGTH_SHORT).show();
final String Fid = loginResult.getAccessToken().getUserId();
Cocos2dxHelper.runOnGLThread(new Runnable() {
@Override
public void run() {
Cocos2dxJavascriptJavaBridge.evalString("window.FbLoginCallback("+Fid+");");
}
});
} @Override
public void onCancel() {
Toast.makeText(getApplicationContext(), "facebook登录取消", Toast.LENGTH_SHORT).show();
} @Override
public void onError(FacebookException error) {
Toast.makeText(getApplicationContext(), "facebook登录错误", Toast.LENGTH_SHORT).show();
}
});
最后,在 onActivityResult 方法中调用 callbackManager.onActivityResult,通过 callbackManager 将登录结果传递至 LoginManager。
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
callbackManager.onActivityResult(requestCode, resultCode, data);
super.onActivityResult(requestCode, resultCode, data);
}
最后在导出的项目中点击按钮看看效果

集成Facebook SDK之Facebook登录的更多相关文章
- 在Android上实现使用Facebook登录(基于Facebook SDK 3.5)
准备工作: 1. Facebook帐号,国内开发者需要一个vpn帐号(网页可以浏览,手机可以访问) 2. 使用Facebook的SDK做应用需要一个Key Hashes值. 2 ...
- 网站如何集成Facebook和Twitter第三方登录
最近公司要求做海外的第三方登录:目前只做了Facebook和Twitter;国内百度到的信息太少VPN FQ百度+Google了很久终于弄好了.但是做第三方登录基本上都有个特点就是引入必须的js,设置 ...
- FaceBook SDK登录功能实现(Eclipse)
由于公司游戏要进行海外推广,所以要我们接入FBSDK 实现登录,分享,投放,所以写这篇文章,也算是个工作总结.1.资料 (1).FB SDK github源码地址为 (2): [FB SDK中文接入文 ...
- SDK接入(1)之Android Facebook SDK接入
SDK接入(1)之Android Facebook SDK接入 由于游戏已上线,且处于维护阶段,所以有空写写各种SDK接入过程和遇到的问题,也当作一种工作总结.SDK接入主流分为这么几类,登录.支付. ...
- 分享前端Facebook及Twitter第三方登录
最近公司要求做海外的第三方登录:目前只做了Facebook和Twitter;国内百度到的信息太少VPN FQ百度+Google了很久终于弄好了.但是做第三方登录基本上都有个特点就是引入必须的js,设置 ...
- 关于Facebook和Google+授权登录
实际中遇到需要Facebook和Google+等第三方授权登录自己的Web应用(可能还有Android和IOS的手机应用),本质上都是JS SDK的官方应用.这时候不得不去他们官方查看文档. 注:一下 ...
- iOS Facebook SDK
iOS 使用 Facebook SDK 可以登录,分享,发布通知(Notifications)等. 首先下载 Facebook SDK.然后在 Facebook Developer 上注册自己的 ap ...
- 计算facebook sdk需要的key hashes
1. 下载openssl,在C盘创建openssl文件夹,解压下载的zip到openssl文件夹. 2. 找到debug.keystore. windows下在C:\Users\用户名\.androi ...
- Facebook SDK
<?php session_start(); header('Content-type:text/html; charset=UTF-8'); require_once './facebook- ...
随机推荐
- 团队进行Alpha冲刺--项目测试
这个作业属于哪个课程 软件工程 (福州大学至诚学院 - 计算机工程系) 这个作业要求在哪里 团队作业第五次--Alpha冲刺 这个作业的目标 团队进行Alpha冲刺--项目测试 作业正文 如下 其他参 ...
- vue-admin-template搭建后台管理系统的学习(一)
首先我们来看看这个基础模版的目录结构 ├── build // 构建相关 ├── config // 配置相关├── src // 源代码│ ├── api // 所有请求│ ├── ass ...
- Lucene5多条件查询
lucene是一个很强大的搜索工具,最近公司项目上用到,结合JAVA1234所讲,对多条件查询做出总结 先描述一下我的多条件需求,如果和您的类似,继续往下看. 1.我的Lucene搜索会在很多地方使用 ...
- 运行 docker .... 命令报错
一.检查 Linux 上是有存在 docker [root@localhost bin]# docker version 不存在 docker 时,可以使用如下命令下载 docker [root@lo ...
- web如何测试
当我们负责web测试的时候,先了解B/S架构,然后分析如何开始执行测试,一般步骤:从功能测试,兼容测试,安全测试. 功能测试: 一.链接测试,链接是web应用系统的一个很重要的特征,主要是用于页面之间 ...
- 关于JavaScript函数
object.defineProperty()函数 再学习这个函数之前,我们先创建一个object对象 var person = {} person.name = "junlebao&quo ...
- Docker编写镜像 发布个人网站
推荐国内镜像中心:网易云镜像----> https://c.163.com/hub#/home 或者歪果镜像---> https://hub.docker.com/ 博客地址:http: ...
- python计算图像信息熵
import cv2 import numpy as np import math import time def get_entropy(img_): x, y = img_.shape[0:2] ...
- docker推送镜像到私有仓库
配置私有仓库源 私有仓库地址:registry.supos.ai 修改/etc/docker/daemon.json文件,增加insecure-registries,如下所示: { "ins ...
- 如何完美获得一个double值的整数部分
如果是java有float类型的向上取整:Math.ceil() //只要有小数都+1向下取整:Math.floor() //不取小数四舍五入:Math.round() //四舍五入 如果是C++:方 ...