最近项目要集成Facebook ,登录和分享,真心恶习了本狗蛋一把,倒不是说技术上有多么难,实在是你看个文档 还必须登录,无奈登录,集成看了一会,各种花样提示 展开可疑活动,要求上传一张清晰照片,上传就禁用。真恶心死我了。。。。
为了不让大家和我一样为此烦恼,决定把Facebook 中文开发集成文档 提供给大家。
Android 版 Facebook 登录 — 快速入门
Android 版 Facebook SDK 让用户可以通过“Facebook 登录”注册您的应
用。通过 Facebook 登录您的应用时,用户可以向应用授予权限,以便 您可以检索信息或以用户的身份在 Facebook 执行操作。
如果使用 Android 版 Facebook SDK 4.14.0 开发应用,“Facebook 登录”功能就会自动与 Facebook Lite 集成。如果用户未安装 Android 版 Facebook 应用,“Facebook 登录”就会使用 Facebook Lite,展示登录界面并获得登录凭证。旧版 SDK 要求用户必须安装 Facebook 应用。
遵循以下步骤将 Facebook 登录添加到您的应用。
一. 选择应用或新建应用
二.下载 Facebook 应用
三.导入 Facebook SDK
重要信息: 如果要将 SDK 添加到现有项目,请从第 3 步开始。
1.前往 Android Studio | New Project(新项目)| Minimum SDK(最低 SDK)。
2.选择 API 15: Android 4.0.3 或更高版本,然后创建新项目。
3.在项目中,打开 your_app | Gradle Scripts(Gradle 脚本)| build.gradle。
4.将 Maven 中央存储库添加到 dependencies 之前的 build.gradle 中:
repositories {
mavenCentral()
}
5.将 compile 'com.facebook.android:facebook-android-sdk:[4,5)' 添加到 build.gradle 依赖项:
dependencies {
compile 'com.facebook.android:facebook-android-sdk:[4,5)'
}
6.构建项目。
7.导入 Facebook SDK:
import com.facebook.FacebookSdk;
import com.facebook.appevents.AppEventsLogger;
将 Facebook 应用编号添加至您的清单文件中
向项目添加您的 Facebook 应用编号,并更新 Android 清单
1.打开 strings.xml文件。例如:/app/src/main/res/values/strings.xml。
2.添加新的字符串(名称为 facebook_app_id,其中包含 Facebook 应用编号的值):
<string name="facebook_app_id">390639668004246</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>
五.在清单文件中添加 FacebookActivity
将 FacebookActivity添加到 AndroidManifest.xml
<activity
android:name="com.facebook.FacebookActivity" android:configChanges="keyboard|keyboardHidden|screenLayout|screenSize|orientation" android:label="@string/app_name" />
六.在清单文件中启用 Chrome 自定义选项卡
将意向筛选条件添加到 manifest 文件,将 fb_login_protocol_scheme 添加到 strings.xml 文件,启用 Chrome 自定义选项卡。启用 Chrome 自定义选项卡时,如果未安装 Facebook 应用,SDK 会在 Chrome 自定义选项卡中展示“登录”对话框,而不是网页视图中。因此,如果用户已在 Chrome 浏览器中登录 Facebook,则无需再次输入凭证。
向 AndroidManifest.xml 文件添加以下意向筛选条件:
<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>
在 strings.xml 文件中添加以下代码
<string name="fb_login_protocol_scheme">fb390639668004246</string>
七.提供您的 Android 项目信息
八.为应用添加开发和发布密钥散列
九.为应用启用单点登录
十.添加“Facebook 登录”按钮
向应用添加“Facebook 登录”按钮的最简单方法是从 SDK 添 LoginButton。
LoginButton 是一个界面元素,其中包含 LoginManager 具备的功能。
用户点击按钮后,就会以 LoginManager 中设置的权限开
始登录。按钮随登录状态变化,并根据用户的身份验证状态显示正确文本。
要添加 Facebook 登录按钮,请先将其添加到布局 XML 文件中,并使
用完整的类名称 com.facebook.widget.LoginButton:
<com.facebook.login.widget.LoginButton
android:id="@+id/login_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="30dp"
android:layout_marginBottom="30dp" />