作为一名东南亚APP开发者,Facebook登录和分享是绕不过去的一个功能,最近将APP里的Facebook登录和分享SDK升级到2016年8月的版本,代码改动挺大,现在把具体的代码贴出来供后来者升级SDK方便
首先看一下实现效果:
Facebook SDK 的部署方法:
首先,你需要去注册一个开发账号,然后用app的包名和SHA1获得一个app_id
好了现在可以开始正式部署了,首先引用官网的初始化方案:(以下内容来自https://developers.facebook.com/docs/android/getting-started)
Android Studio 设置要在项目中使用 Facebook SDK,请将其添加为构建依赖项,然后导入。
1.前往 Android Studio | New Project(新项目)| Minimum SDK(最低 SDK)
2.选择 API 15: Android 4.0.3 或更高版本,然后创建新项目。
3.创建新项目后,打开 your_app | build.gradle(您的应用 | build.gradle)
4.将以下字串添加至模块级 /app/build.gradle 的 dependencies 之前:(注:这里可以不写)
repositories { mavenCentral()}5.将配置最新版本 Facebook SDK 的 compile 依赖项添加到 build.gradle 文件(注:这里我用的是4.14.1 2016年8月18日新版):
dependencies { compile 'com.facebook.android:facebook-android-sdk:4.+'}6.构建项目,然后即可将 com.facebook.FacebookSdk 导入应用。
使用 Facebook SDK 之前,需要先进行初始化。添加调用 FacebookSdk.sdkInitialize 或onCreate 内 Activity 中的 Application:
// Add this to the header of your file:import com.facebook.FacebookSdk;// Updated your class body:@Overridepublicvoid 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.} 添加 Facebook 应用编号(注:这个编号一般为15位左右)然后向项目的 strings 文件添加您的 Facebook 应用编号,并更新 Android 清单:
1.打开 strings.xml 文件。示例路径:/app/src/main/res/values/strings.xml。
2.添加新的字符串(名称为 facebook_app_id,值为 Facebook 应用编号)
3.打开 AndroidManifest.xml
4.将 uses-permission 元素添加到清单:
<uses-permissionandroid:name="android.permission.INTERNET"/>5.将 meta-data 元素添加到 application 元素内:
<applicationandroid:label="@string/app_name" ...> ... <meta-dataandroid:name="com.facebook.sdk.ApplicationId"android:value="@string/facebook_app_id"/> ... </application> 使用登录或分享功能要使用 Facebook 登录或分享功能,还需要将 FacebookActivity 添加到清单:
<activityandroid:name="com.facebook.FacebookActivity"android:configChanges="keyboard|keyboardHidden|screenLayout|screenSize|orientation"android:theme="@android:style/Theme.Translucent.NoTitleBar"android:label="@string/app_name"/> 发送图片或视频如果要通过 Android 版 Facebook 应用分享链接、图片或视频,还需要在清单文件中声明FacebookContentProvider。