Nicky's Blog

如何接入Facebook Sdk?


客户端接入web端准备工作?

开始实施 Facebook 登录之前,请确保已完成下列设置。

  1. 下载 Facebook 应用
    点击下方的按钮,下载 Facebook 应用。
    下载 Android 版 Facebook

  2. 创建开发者帐户
    如果没有 Facebook 开发者帐户,请点击下面的按钮创建。您可以通过 Facebook 开发者帐户使用开发者工具和创建 Facebook 应用。
    创建开发者帐户

  3. 下载 Android SDK
    下载最新的 Android 版 Facebook SDK。

  4. 下载 Android SDK

获得 Facebook 应用编号、添加 SDK、以及向资料页添加密钥散列
点击下方的按钮,按照快速入门操作,也可以按照新手入门中的步骤操作。
Android 快速入门

  1. 为应用启用单点登录
    为应用启用单点登录的方法是:在 Facebook 开发者网站的我的应用中选择您的应用,然后选择应用的设置,并将单点登录设置为是。

客户端对接sdk逻辑

Import SDK
Add compile ‘com.facebook.android:facebook-android-sdk:[4,5)’ to your build.gradle dependencies.
或者官方下载对应的aar放置到工程的lib下面

  1. Add SDK
    Add your Facebook App ID to your app and update your Android manifest.

  2. Open your strings.xml file, for example: /app/src/main/res/values/strings.xml.

  1. Add a new string with the name facebook_app_id containing the value of your Facebook App ID:
1
<string name="facebook_app_id">19072045748</string>
  1. Open AndroidManifest.xml.

  2. Add a uses-permission element to the manifest:

    1
    <uses-permission android:name="android.permission.INTERNET"/>
  3. Add a meta-data element to the application element:

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

    1
    2
    3
    4
    5
    <activity
    android:name="com.facebook.FacebookActivity"
    android:configChanges="keyboard|keyboardHidden|screenLayout|screenSize|orientation"
    android:label="@string/app_name"
    android:theme="@android:style/Theme.Translucent.NoTitleBar" />
  1. Add your development and release key hashes

客户端有个方法可生成

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
/**
* 配置facebook 平台中app hash key时,需要用到
*/
public void getHashKey(String pkgName) {
if (StringUtils.isEmpty(pkgName)) {
pkgName = ContextManager.getPackageName();
}
try {
PackageInfo info = ContextManager.getApplicationContext().getPackageManager().getPackageInfo(pkgName, PackageManager.GET_SIGNATURES);
for (android.content.pm.Signature signature : info.signatures) {
MessageDigest md = MessageDigest.getInstance("SHA");
md.update(signature.toByteArray());
String sign = Base64.encodeToString(md.digest(), Base64.DEFAULT);
Log.e(TAG, "facebook MY KEY HASH:" + sign + ", pkgname:" + pkgName);
}
} catch (PackageManager.NameNotFoundException e) {
e.printStackTrace();
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}
}

哪些权限需要审核?

有关以下三种基本权限的请求不需要审核:public_profile、user_friends 和 email。
在用户登录应用时提出的其他权限请求则需要审核

用户访问口令分为两种形式:短期有效口令和长期有效口令。短期有效口令的有效期通常为一两小时,长期有效口令的有效期通常为 60 天左右。有效期不会保持不变,可能在没有警告的情况下更改,也有可能很早过期。

关于接入FB广告

后续专门一篇文章来解答

如有不清晰,按照官方文档介绍一步步执行即可 fb官方教程


转载声明: 本文转载前需与作者联系并标明文章出处