【基础】Android版Facebook SDK入门指南
· 2023-02-15

苹果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:<your_project>并完成下列操作:


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


mavenCentral()


b.保存并关闭build.gradle(Project:<your_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的消息输出,应与下图相似:



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


熱門文章
橫跨全球6個城市,灰度8場派對邀你共看世界盃,重塑高質量社交新場景
灰度頭條
越南博彩管控逐步放寬,惟本土需求仍顯乏力
東南亞資訊
菲律賓博彩技術賽道迎來新變局,B2B 供應模式加速滲透
東南亞資訊
哈薩克計劃對線上賭場促銷活動進行處罰
合規與政策
斯里蘭卡博弈產業大轉型,官方:劍指南亞拉斯維加斯
合規與政策
印第安納州在線賭場法案在眾議院委員會停滯不前
合規與政策
灰度在iGB L!VE 2026展位T70和你相約7月,一起點燃倫敦的熱情!
灰度頭條
JILI 宣佈與全球板球傳奇 AB de Villiers(ABD)達成重磅戰略合作
體育遊戲
越南在線博彩業政策收緊 催生市場新機遇
東南亞資訊
巴西擬將博弈稅率提高至24% 稅收將用於社保與醫療領域
合規與政策
新澤西州7月博彩收入創6.06億美元新高,頒布禁令
合規與政策
菲律賓網絡賭博和加密貨幣仍構成持續的洗錢風險
東南亞資訊
英國確認各垂直行業的賭博稅稅率
合規與政策
GGC Awards 2026 璀璨科倫坡:致敬 iGaming 行業的領航者與創新力量
灰度頭條
西班牙監管機構警告在線賭博平臺存在身份盜竊行為
合規與政策
首頁
遊戲
合作
發現
我的