Facebook 登录 Android 接入

1,613 阅读2分钟

参考 Facebook 官方文档

一、把 Facebook SDK 加入你的项目

如需在项目中使用 Facebook SDK,请把它添加为版本依赖关系并导入。如果你在创建新项目,请按以下所有步骤操作。如需把 Facebook SDK 加入现有项目,请从第 3 步开始操作。

1. 前往Android Studio | New Project | Minimum SDK

2. 选择“API 15: Android 4.0.3”或更高版本来创建新项目。

3. 在你的项目中,打开

your_app | Gradle Scripts | build.gradle

4. 把 Maven Central Repository 添加到dependencies:前的build.gradle

repositories {
        mavenCentral()
    }

5. 把implementation 'com.facebook.android:facebook-android-sdk:[8,9)'加入你的build.gradle依赖关系。

6. 创建你的项目。

7. 把 Facebook SDK 导入你的应用:

import com.facebook.FacebookSdk;

二、添加 Facebook 应用编号

请为应用添加 Facebook 应用编号,并更新你的 Android 清单。

1. 打开你的strings.xml文件,例如:/app/src/main/res/values/strings.xml。

2. 添加名为facebook_app_id的新字串,字串名称应包含你的 Facebook 应用编号:

<string name="facebook_app_id">XXXXXXX</string>

3. 打开AndroidManifest.xml。

4. 把uses-permission元素加入清单:

<uses-permission android:name="android.permission.INTERNET"/>

5. 把一项meta-data元素添加到application元素:

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

三、添加你的开发和发布密钥散列

为确保你的应用和 Facebook 之间互动的真实性,你需要向我们提供你的开发环境的 Android 密钥散列。如果你的应用已发布,你还需要提供你的发布密钥散列。

每个 Android 开发环境都会获得唯一的开发密钥散列。如需在 Mac 设备上生成开发密钥散列,请执行以下命令:

keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore | openssl sha1 -binary | openssl base64

请在 Windows 中执行这一命令:

keytool -exportcert -alias androiddebugkey -keystore %HOMEPATH%.android\debug.keystore | openssl sha1 -binary | openssl base64

此命令将为你的开发环境生成长为 28 个字符的专属密钥散列。请把密钥散列复制粘贴到下方空格中。你需要为应用的每位工作人员提供开发环境的开发密钥散列。

如果你的应用已发布,你还应该添加发布密钥的散列。

Android 应用必须使用发布密钥作为数字签名才能上传到应用商店。如需生成发布密钥散列,请在 Mac 或 Windows 中执行以下命令,替换你的发布密钥别名和 keystore 路径:

keytool -exportcert -alias YOUR_RELEASE_KEY_ALIAS -keystore YOUR_RELEASE_KEY_PATH | openssl sha1 -binary | openssl base64

这会生成由 28 个字符组成的字串,请把字串复制粘贴到下方空格中。另外,请查看Android documentation来了解如何为应用签名。

image.png