接入SDK-1

一、Add Facebook SDK to Your Project
To use Facebook SDK in a project, add it as a build dependency and import it. If you are starting a new project, follow all the steps below. To add Facebook SDK to an existing project, start with step 3.
1. Go to Android Studio | New Project | Minimum SDK
2. Select "API 15: Android 4.0.3" or higher and create your new project.
3. In your project, open your_app | Gradle Scripts | build.gradle
4. Add the Maven Central Repository to build.gradle before dependencies:
repositories {
        mavenCentral()
}
5. Add compile 'com.facebook.android:facebook-android-sdk:[4,5)' to your build.gradle dependencies.
6. Build your project.
7. Import Facebook SDK into your app and init it:
import com.facebook.FacebookSdk;
@Override
 public void onCreate(Bundle savedInstanceState) {
     super.onCreate(savedInstanceState);
     FacebookSdk.sdkInitialize(getApplicationContext());// Initialize the SDK before executing any other operations, especially, if you're using Facebook UI elements.
}

二、Add Facebook App ID
Add your Facebook App ID to your app and update your Android manifest.
1. Open your strings.xml file, for example: /app/src/main/res/values/strings.xml.
2. Add a new string with the name facebook_app_id containing the value of your Facebook App ID:
<string name="facebook_app_id">1157270487625628</string>
3. Open AndroidManifest.xml.
4. Add a uses-permission element to the manifest:
<uses-permission android:name="android.permission.INTERNET"/>
5. Add a meta-data element to the application element:
<application android:label="@string/app_name" ...>
    <meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/facebook_app_id"/>
</application>

三、Tell us about your Android project
Package Name
Your package name uniquely identifies your Android app. We use this to let people download your app from Google Play if they don't have it installed. You can find this in your Android Manifest
com.dongbai.mm.xiu
Default Activity Class Name
This is the fully qualified class name of the activity that handles deep linking. We use this when we deep link into your app from the Facebook app. You can also find this in your Android Manifest
com.lokinfo.m95xiu.WelcomeActivity

四、Add your development and release key hashes
To ensure the authenticity准确 of the interactions互动 between your app and Facebook, you need to supply us with the Android key hash for your development environment. If your app has already been published, you should add your release key hash too.

You'll have a unique development key hash for each Android development environment. To generate a development key hash, on Mac, run the following command:
keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore | openssl sha1 -binary | openssl base64

On Windows, run this command:
keytool -exportcert -alias androiddebugkey -keystore %HOMEPATH%\.android\debug.keystore | openssl sha1 -binary | openssl base64

【4SrCEIfuM++ddKXQh34fqEsxXsI=】
This command will generate a 28-character key hash unique to your development environment. Copy and paste it into the field below. You will need to provide a development key hash for the development environment of each person who works on your app.
If your app has already been published, you should also add a hash of your release key.

Android apps must be digitally signed with a release key before you can upload them to the store. To generate a hash of your release key, run the following command on Mac or Windows substituting your release key alias and the path to your keystore:
keytool -exportcert -alias YOUR_RELEASE_KEY_ALIAS -keystore YOUR_RELEASE_KEY_PATH | openssl sha1 -binary | openssl base64
This will generate a 28-character string that you should copy and paste into the field below. Also, see the Android documentation for signing your apps.

五、Track App Installs and App Opens
App Events let you measure installs on your mobile app ads, create high value audiences观众 for targeting, and view analytics including user demographics统计学. To automatically log app activation events, add the following code to the onCreate() method of your app's Application class:
FacebookSdk.sdkInitialize(getApplicationContext());
AppEventsLogger.activateApp(this);  
Now, when people install or engage with your app, you'll see this data reflected in your app's Insights dashboard.

Next Steps
Congratulations! You have added the Facebook SDK to your project. You are now in the next stage in integrating your app with Facebook. What do you want to do next? Skip to Developer Dashboard or Documentation

接入SDK-2

Android Studio Setup
To use Facebook SDK in a project, add it as a build dependency and import it.
1. Go to Android Studio | New Project | Minimum SDK
2. Select API 15: Android 4.0.3 or higher and create your new project.
3. After you create a new project, open your_app | build.gradle
4. Add this to Module-level /app/build.gradle before dependencies:
repositories {
    mavenCentral() 
}
5. Add the compile dependency with the latest version of the Facebook SDK in the build.gradle file:
dependencies { 
  compile  characher string. Copy and paste this Release Key Hash into your Facebook App ID's Android settings.

You should also check that your Facebook App ID's Android setting also contain the correct package name and main activity class for your Android package.

Using the Facebook SDK with Maven
You can declare the Maven dependency依赖关系 with the latest最新 available version of the Android SDK:
<dependency>
  <groupId>com.facebook.android</groupId>
  <artifactId>facebook-android-sdk</artifactId>
  <version>PUT_LATEST_VERSION_HERE</version>
</dependency> 

Troubleshooting疑难解答 Sample Apps
If you have a problem running a sample app, it may be related与…有关 to the key hash. You may see one of the following scenarios:
  • A native Login Dialog appears but after accepting the permissions you are still in a logged out退出 state. The logcat also contains an exception: OrcaServiceQueue(504):com.facebook.orca.protocol.base.ApiException: remote_app_id does not match stored id
  • A non-native Login Dialog appears with an error message: ''..App is Misconfigured木有配置 for facebook login...''.
        Check your key hash and you can make sure you use the correct key hash. 
        You can also manually modify the sample code to use the right key hash. For example in HelloFacebookSampleActivity class make a temporary临时 change to the onCreate():

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    try {
        PackageInfo info = getPackageManager().getPackageInfo("com.facebook.samples.hellofacebook", PackageManager.GET_SIGNATURES);
        for (Signature signature : info.signatures) {
            MessageDigest md = MessageDigest.getInstance("SHA");
            md.update(signature.toByteArray());
            Log.d("KeyHash:", Base64.encodeToString(md.digest(), Base64.DEFAULT));
        }
    } catch (NameNotFoundException e) {
    } catch (NoSuchAlgorithmException e) {
    }

        Save your changes and re-run the sample. Check your logcat output for a message similar to this:
12-20 10:47:37.747: D/KeyHash:(936): 478uEnKQV+fMQT8Dy4AKvHkYibo=
        Save the key hash in your developer profile. Re-run the samples and verify that you can log in successfully

Facebook登录 AndroidStudio的更多相关文章

  1. 集成Facebook SDK之Facebook登录

    前言 这几天应公司需求,需要在项目中接入facebook的登录,现在闲下来后再次巩固一下! 准备工作 保证自己的网络已经翻墙,能够进入Facebook网页 准备一个FB的开发者账号,如果没有可以免费申 ...

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

    1.首先在Facebook 开发者平台注册一个账号 https://developers.facebook.com/ 开发者后台  https://developers.facebook.com/ap ...

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

    准备工作: 1.       Facebook帐号,国内开发者需要一个vpn帐号(网页可以浏览,手机可以访问) 2.       使用Facebook的SDK做应用需要一个Key Hashes值. 2 ...

  4. 很酷的CSS3仿Facebook登录表单

    原文:很酷的CSS3仿Facebook登录表单 今天看到一款很不错的CSS3登录表单,外观是仿Facebook的登录表单,还挺不错的,另外也支持简单的表单输入框验证.下图是表单的效果图: 我们也可以在 ...

  5. android应用集成facebook登录

      之前都是做国内的应用开发,没有用过国外的三方登录,比如谷歌登录.facebok登录,最近参与了一个海外的支付相关的项目,调研了一下谷歌登录和facebook登录,其实调研之后觉得也是很简单的,尤其 ...

  6. ASP.NET5使用FaceBook登录

    原版教程 使用VS2015创建Web应用: 此教程使用的是FaceBook账号登录,需要添加相关的类,打开Nuget: 搜索Microsoft.AspNet.Authentication.Facebo ...

  7. Android平台接入Facebook登录

    官方教程地址: https://developers.facebook.com/docs/android/getting-started 开发环境为Android Studio,官方要求SDK最低版本 ...

  8. facebook 登录开发记录

    1.注册一个 facebook 的账号 2.进入 facebook 开发者的网站.(也可以在 facebook 登录后,点击自己的名字进入用户信息页面,在该页面的底部有个“更多”的链接,点击进去会看到 ...

  9. Android 版 Facebook 登录

    Android 版 Facebook SDK 让用户可以通过 Facebook 登录注册您的应用.通过 Facebook 登录您的应用时,用户可以向应用授予权限,以便您可以检索信息或以用户的身份在 F ...

随机推荐

  1. PHP preg_match正则表达

    在php中preg_match()函数是用来执行正则表达式的一个常用的函数,下面我来给大家详细介绍preg_match使用方法. 函数用法 int preg_match_all ( string pa ...

  2. php在.php文件中设置php.ini,仅对当前文件有效

    ini_set (PHP 4, PHP 5, PHP 7) ini_set — 为一个配置选项设置值 折叠返回值 成功时返回旧的值,失败时返回 FALSE. 折叠范例 <?php echo in ...

  3. PHP中的定界符格式

    <?php //nowdoc(单引号定界符) //ABC可以是任合内容,放在单引号中 $c=<<<'ABC' 这里可以是任合内容 我是历的苛夺基 本原则叶落归根在运 输费艰难田 ...

  4. CSS块级元素与行级元素(转载)

    块元素一般都从新行开始,它可以容纳内联元素和其他块元素,常见块元素是段落标签'P".“form"这个块元素比较特殊,它只能用来容纳其他块元素. 如果没有css的作用,块元素会顺序以 ...

  5. CSS 解决<td>里面内容太多把表格弄变形的原因,设置 自动换行。

    1 < style="word-break:break-all"> 例如div宽200px,它的内容就会到200px自动换行,如果该行末端有个英文单词很长(congra ...

  6. Debian/Ubuntu手动编译安装MongoDB C++11驱动及驱动测试

    本文章仅限cnblogs网站内转载!请某网站自觉,遵纪守法,尊重原创! 系统环境情况: 最小化.无桌面环境 新安装的Debian 8 Server 版本操作系统虚拟机一台 手动编译安装MongoDB ...

  7. IE的有条件注释详解

    IE的有条件注释是一种专有的(因此是非标准的).对常规(X)HTML注释的Miscrosoft扩展.顾名思义,有条件注释使你能够根据条件(比如浏览器版本)显示代码块.尽管是非标准的,但是有条件注释对于 ...

  8. twisted(3)--再谈twisted

    上一章,我们直接写了一个小例子来从整体讲述twisted运行的大致过程,今天我们首先深入一些概念,在逐渐明白这些概念以后,我们会修改昨天写的例子. 先看下面一张图: 这个系列的第一篇文章,我们已经为大 ...

  9. FileWriter

    package file; import java.io.File; import java.io.FileWriter; import java.io.IOException; public cla ...

  10. Linux_install mod_ssl openssl apache

    1.下载 mod_ssl 和 apache 登入http://www.modssl.org/source/,下载 mod_ssl-2.8.31-1.3.41.targz: 2.8.31是mod_ssl ...