苹果IDFA新政策落地,提前检查你的广告账户,继上期iOS SDK接入指南,GatherOne的AM专家本期为您带来Facebook Android SDK,您有一份干货待查收。

4月5日,苹果在开发者网站发布消息表示,将从iOS 14.5,iPadOS 14.5和tvOS 14.5发布后,开始执行IDFA(广告标识符)的新政策。

这也意味着,在发布这些系统更新之后,开发者将需要获得明确的权限才能访问设备上广告标识符(IDFA)。只有这样才能跨应用和网站跟踪用户以,以进行广告定位。

苹果IDFA新政策落地,提前检查你的广告账户,继上期iOS SDK接入指南,GatherOne的AM专家本期为您带来Facebook Android SDK,您有一份干货待查收。

Android版Facebook SDK是将Android应用与Facebook集成的最简便方法。

要使用Facebook SDK,有两种应用设置方法:

·使用快速入门。

·使用Facebook SDK设置项目。

快速入门

要获取Facebook应用编号、配置应用设置、导入Facebook SDK,请点击下方按钮并遵循在线说明操作。

Android快速入门

Android Studio设置

如要在项目中使用Facebook SDK,请将其添加为构建依赖项,然后导入。

1.前往Android Studio|New Project(新项目)|Minimum SDK(基本版SDK)。

2.选择API 15:Android 4.0.3(IceCreamSandwich)或更高版本,然后创建新项目。

3.创建新项目后,打开Gradle Scripts|build.gradle(Project:并完成下列操作:

a.添加以下内容到build.gradle(Project)文件的buildscript{repositories{}}部分:

mavenCentral()

b.保存并关闭build.gradle(Project:)。

4.打开Gradle Scripts|build.gradle(Module:app)并完成下列操作:

a.添加以下内容到build.gradle(module:app)文件的dependencies{}部分,以便编译最新版本的Facebook SDK:

您使用Facebook SDK时,如果未禁用事件自动记录功能,一些应用事件将被自动记录和收集,用于Facebook分析。关于哪些信息会被收集以及如何禁用事件自动记录的详细信息,请参阅应用事件自动记录。

b.保存并关闭build.gradle(Module:app)。

5.构建项目。然后即可将com.facebook.FacebookSdk导入应用。

添加Facebook应用编号

然后向项目的字符串文件添加您的Facebook应用编号,并更新Android清单:

1.打开您的/app/res/values/strings.xml文件。

2.在文件中添加string元素,元素的名称属性为facebook_app_id,值为您的Facebook应用编号。例如

3.打开/app/manifests/AndroidManifest.xml

4.将uses-permission元素添加到清单:

5.将meta-data元素添加到application元素内:

发送图片或视频

如果要通过Android版Facebook应用分享链接、图片或视频,还需要在清单文件中声明FacebookContentProvider。

在authorities值的末尾添加您的应用编号。例如,如果Facebook应用编号是1234,则声明应如下图所示:

结合使用SDK和ProGuard

无需执行任何其他步骤,即可在Android版Facebook SDK中使用ProGuard。

运行示例应用

以下示例均为SDK代码:

·HelloFacebookSample—显示个人主页访问权限、状态更新和照片上传

·RPSSample—使用原生分享对话框、开放图谱发布工具、选择工具、邀请和深度链接。

·Scrumptious—登录、请求、选择工具、照片上传和开放图谱发布工具。

您可以将SDK导入Android Studio项目,用示例进行试验。

上述示例为项目依赖关系,而不是maven central或jcenter中央存储库依赖关系。所以,当本地SDK副本更新时,示例将反映出相关更改。

如需快速运行示例应用,您可以生成适用于您的开发环境的密钥散列。将这些密钥散列添加到示例应用的Facebook开发者资料页。用于生成密钥散列的Keytool随附于Java SE开发包(JDK)中,您在设置开发环境时需要安装这个开发包。OpenSSL可以从OpenSSL下载。

在OS X中运行:

在Windows系统中,您需要以下各项:

·Java开发包中的密钥和证书管理工具(keytool)

·Google Code Archive的Windows版OpenSSL库

在Java SDK文件夹的命令提示符中运行以下命令:

系统将生成包含28个字符的字符串。

前往Facebook开发者网站。登录Facebook,然后通过右上方的下拉菜单,前往开发者设置:

在开发者设置菜单中选择示例应用,然后添加密钥散列并保存到资料页:

如果使用多个设备开发,则可以添加多个密钥散列。

现在,您可以编写并运行所有示例—包括使用“Facebook登录”的示例。

创建开发密钥散列

Facebook使用密钥散列验证您的应用和Facebook应用之间的互动。如果运行使用“Facebook登录”功能的应用,则您需要向Facebook开发者资料页添加Android开发密钥散列。

对于您发布的应用版本,也需要生成和设置发布密钥散列。

在OS X或Windows内,您可以生成密钥散列,也可以使用Settings.getApplicationSignature(Context)返回的值获得散列。如需获取详细说明,请参阅运行示例应用。

后续步骤

安装Android版Facebook SDK并配置Facebook应用编号后,将激活以下功能:

·Android版Facebook登录

·应用事件

·“分享”和“发送”对话框

设置发布密钥散列

要验证您的应用与Facebook之间的信息交换,您需要生成一个发布密钥散列,并将它添加到Facebook应用编号内的Android设置。如果不执行这个操作,当应用发布到商店后,应用内的Facebook集成可能不会正常运行。

在之前的步骤中,您应该已使用适用于您的开发环境的密钥散列更新Facebook开发者设置。

发布应用后,应用通常会签上您的开发环境的不同签名。所以,请务必创建发布密钥散列,并将它添加到Facebook应用编号的Android设置。

要生成发布密钥散列,请在Mac或Windows内运行以下命令,并替换您的发布密钥别名和keystore路径。

在Mac操作系统中,运行:

在Windows系统中,您需要以下各项:

·Java开发包中的密钥和证书管理工具(keytool)

·Google Code Archive的Windows版OpenSSL库

在Java SDK文件夹的命令提示符中运行以下命令:

请务必使用您在首次创建发布密钥时设置的密码。

此命令将生成包含28个字符的字符串。复制此发布密钥散列,并将其粘贴至Facebook应用编号的Android设置。

此外,还应检查Facebook应用编号的Android设置是否还包括正确的包名和Android包的主要活动类别。

结合使用Facebook SDK和Maven

您可以声明Maven与Android版SDK最新可用版本的依赖关系:

示例应用疑难解答

如果无法正常运行示例应用,则可能与密钥散列有关。您可能会遇到以下情况:

显示原生“登录”对话框,但接受权限后仍处于退出状态。同时,Logcat还包括一个异常:

显示非原生“登录”对话框,同时显示一条错误消息:“..应用的Facebook登录配置错误...”。

检查密钥散列,确保使用了正确的密钥散列。I

您还可以手动将示例代码修改为正确的密钥散列。例如,在HelloFacebookSampleActivity类中,暂时更改onCreate():

保存更改,然后重新运行示例代码。检查Logcat的消息输出,应与下图相似:

在开发者资料页保存密钥散列。重新运行示例,验证是否可以成功登录。

立即登录,阅读全文