Android平台接入Facebook登录

官方教程地址:
https://developers.facebook.com/docs/android/getting-started

开发环境为Android Studio,官方要求SDK最低版本为“API 15: Android 4.0.3”。

一、创建应用

1、激活账号

按照要求创建APP,生成appId。

注意:在填写APP名称的时候,不能包含任何有关facebook的名字或简写,否则无法通过。

2、配置Gradle文件

配置app下的build.gradle文件。
如下:

//添加到dependencies之前
repositories {
    mavenCentral()
}
  • 1
  • 2
  • 3
  • 4

在dependencies中添加

compile ‘com.facebook.android:facebook-android-sdk:4.6.0‘
  • 1

3、添加PackName和Default Activity Class Name

4、生成KeyHash并添加到指定位置

生成方式参照“三、Facebook登录Key Hash配置”,生成的Key Hash添加到对应的位置中,区别测试和发布版本。

二、客户端接入

1、Facebook 统计

如果需要统计app启动 安装等相关数据,可以在MainActivity中调用如下代码:

@Override
protected void onResume() {
    super.onResume();
    // Logs ‘install‘ and ‘app activate‘ App Events.
    AppEventsLogger.activateApp(this);
}

@Override
protected void onPause() {
    super.onPause();
    // Logs ‘app deactivate‘ App Event.
    AppEventsLogger.deactivateApp(this);
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

2、初始化Facebook

在Activity或者Application的onCreate中对Facebook进行初始化。

FacebookSdk.sdkInitialize(getApplicationContext());
  • 1

3、添加Facebook App ID,声明权限

App ID进入到下图所示界面可以查看

注意:AppID必须添加到strings.xml中,string名字必须是facebook_app_id。

声明权限 <uses-permission android:name="android.permission.INTERNET"/>

4、在application中添加meta-data

<meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/facebook_app_id"/>
  • 1

5、注册callback

callbackManager = CallbackManager.Factory.create();
LoginManager.getInstance().registerCallback(...);
  • 1
  • 2

在用户成功授权之后,回调onActivityResult(),需要重写 onActivityResult()

callbackManager.onActivityResult(requestCode, resultCode, data);
  • 1

6、执行登录操作

LoginManager.getInstance().
    logInWithReadPermissions(this, Arrays.asList("public_profile", "user_friends"));
  • 1
  • 2

7、获取AccessTokens

AccessToken accessToken = AccessToken.getCurrentAccessToken();
  • 1

如果accessToken!=null或者accessToken没有过期,则可以通过accessToken直接获取登录token,accessToken.getToken()
否则再登陆成功之后,通过loginResult获取loginResult.getAccessToken().getToken()

三、Facebook登录Key Hash配置

1、下载并安装OpenSSL

http://slproweb.com/products/Win32OpenSSL.html 获取,下载如图所示第一个即可。

将下载的软件安装到默认路径中,默认路径为C盘,运行cmd,在命令行中进入 openssl.exe的路径,一般为 C:\OpenSSL-Win32\bin 。

2、生成Key Hash值

使用命令:

Keytool -exportcert -alias <YourAppKetStoreAlias> -keystore <KeyStorePath> | openssl sha1 -binary | openssl base64
  • 1

注意: 应该为 游戏线上apk签名文件的alias,应该为签名文件keystore的所在路径。

执行后 提示“输入密钥库口令”,则输入口令并回车。点击回车出现的28位字符串,即为需要的key Hash值。

如果遇到出现警告,该警告可忽略。

在红色框内填入前面获取到的key hash值,然后点击右下角的 Save Changes按钮保存配置。

四、Facebook开发模式修改为线上模式

在开发模式下,只能使用facebook后台添加的开发者账号进行登录,其他账号无法正常登陆。等APP上线时,需要将facebook的开发模式修改。

1、填写Contact Email(必填)

在应用的setting–>Basci中,填写Contact Email,如图:

2、切换模式

切换到 Status&Review页面,修改2处按钮为Yes。

转:http://blog.csdn.net/liuweiballack/article/details/49816871

时间: 2024-11-06 22:05:06

Android平台接入Facebook登录的相关文章

android应用集成facebook登录

之前都是做国内的应用开发,没有用过国外的三方登录,比如谷歌登录.facebok登录,最近参与了一个海外的支付相关的项目,调研了一下谷歌登录和facebook登录,其实调研之后觉得也是很简单的,尤其是facebook登录,跟国内的三方登录集成几乎没有什么差别. 下面说说facebok登录的集成流程吧: 首先 你需要在facebook开发者官网上面注册一个开发者账号(如果你有facebook账号的话也是可以的),网址为:developers.facebook.com,下面就是官网的页面: 在页面的右

为Android游戏接入第三方登录功能

1. “游戏客户端”调用“SDK客户端”的登录功能向“SDK服务端”进行身份认证 2. 验证通过后,“游戏客户端”可得到用户信息,根据游戏逻辑可将用户信息传给“游戏服务器”进行验证 3. “游戏服务器”通过客户端传来的用户信息,一般还需要向“SDK服务器”请求验证用户信息 4. 验证通过后,“游戏服务器”从数据库中查询用户信息,不存在的话直接插入新的用户信息,然后将验证结果和用户信息返回给“游戏客户端” 5. 如果使用了登录会话管理,用户登录后会生成一个新的会话token字符串,把这个token

手游服务器端接入facebook的SDK

手游如果支持facebook登录,就要接入facebook的登录SDK.刚好工作中自己做了这一块的接入功能现在记录分享下来提供一个参考. 当前只是接入了登录这个功能,先简单的说说接入facebook登录的一个流程.客户端通过玩家输入的用户名和密码向facebook发起登录的请求,请求登录如果成功那么就会返回一个token(口令).那么服务器这边就需要接收客户端发来的这个token,然后服务器端这边还需要一个access_token(这个token就是验证服务器端有没有权限访问facebook的A

Android 应用程序集成FaceBook 登录及二次封装

1.首先在Facebook 开发者平台注册一个账号 https://developers.facebook.com/ 开发者后台  https://developers.facebook.com/apps 2.创建账号并且获得 APP ID 图一 图二 图三 图四 图五 3.获取app签名的Key Hashes 值(两种方式) 3.1方法1: 1 package com.pegasus.map.presentation.utils; 2 import android.content.Contex

开发者服务:第三方登录平台接入流程

第三方登录服务简介: 第三方登录平台为开发者整理了SDK列表,辅助开发者快速接入qq.百度.微博人人等平台登录,通过添加分享和赞组件,将站点内容分享到各大社交平台,适用于pc&移动,简单配置和调用,可轻松搭建完成账号功能. 第三方登录有哪些? 腾讯qq互联平台:通过QQ互联,用户可使用QQ账号登录接入的站点,通过添加分享和赞组件,将站点内容分享到QQ空间和朋友网. 百度第三方帐号登录:支持新浪微博,腾讯微博,QQ空间,开心网,人人网,百度等社交平台的授权,同时还支持新浪微博,QQ空间的单点登陆.

在Android上实现使用Facebook登录(基于Facebook SDK 3.5)

准备工作: 1.       Facebook帐号,国内开发者需要一个vpn帐号(网页可以浏览,手机可以访问) 2.       使用Facebook的SDK做应用需要一个Key Hashes值. 2.1   首先要有你的项目的签名文件 2.2   然后到http://gnuwin32.sourceforge.net/packages/openssl.htm下载 OpenSSL for Windows的Binaries版本,其他操作系统可以到http://www.openssl.org 的官网查

第三方登录平台接入流程

第三方登录服务简介: 第三方登录平台为开发者整理了SDK列表,辅助开发者快速接入qq.百度.微博人人等平台登录,通过添加分享和赞组件,将站点内容分享到各大社交平台,适用于pc&移动,简单配置和调用,可轻松搭建完成账号功能. 第三方登录有哪些? 腾讯qq互联平台:通过QQ互联,用户可使用QQ账号登录接入的站点,通过添加分享和赞组件,将站点内容分享到QQ空间和朋友网. 百度第三方帐号登录:支持新浪微博,腾讯微博,QQ空间,开心网,人人网,百度等社交平台的授权,同时还支持新浪微博,QQ空间的单点登陆.

Android 接入Facebook分享功能

Android接入Facebook的分享 首先注册成为Fackbook开发者. https://developers.facebook.com 登陆到Facebook开发者后台然后点击"Apps" -> "Add a New App",输入App的名称"TeshShare"并选择分类,进行创建App 点击 "Apps" -> "TestShare" ,就是我们刚才创建的App ,然后点击左侧的&

友盟社会化Android组件之第三方登录

前段时间公司需要,逐步了新浪微博.腾讯qq.微信等授权登录验证的问题.如果要一个个申请,看文档写代码也是很多流程的.干脆用友盟社会化Android组件之第三方登录.友盟是集成了这些平台,还有其他主流的平台的.我在这里主要讲一下友盟里面微博登录.先看看友盟是怎么介绍自已的. 一.友盟社会化分享介绍 友盟社会化分享组件,帮助移动应用快速具备微信分享,微博分享.登录.评论.喜欢等社会化组件功能,助力产品推广,并提供实时.全面的社会化数据统计分析服务,是国内最大的社会化分享SDK. 支持各大社交平台 精