返回开发者新闻

Facebook 开放平台 SDK 13.0 版本及相关更新简介

2022年2月24日发布者:Jim Phillips

今天,我们将发布 Facebook SDK 13.0 版本以及 Facebook 开放平台 SDK 的其他更新。本博文将概述这些更新项目,以及开发者应根据需要采取哪些必要措施,避免其应用程序与我们开放平台的集成受到干扰。快速了解 SDK 13.0 版本的部分更新内容:

  • 支持图谱 API 13.0 版本:增加对图谱 API 13.0 版本和市场营销 API 13.0 版本的支持。
  • Android 版 Facebook SDK 中的嵌入式 Android 广告主编号权限请求:根据 Google Play 服务中的广告主编号政策,Android SDK 13.0 版本现在将默认嵌入 Android 广告主编号权限请求。所有使用 Android 版 Facebook SDK 的开发者都需要在 Google 计划执行政策(即 2022 年 4 月)前采取行动,以避免服务中断。
  • 需在 SDK 中嵌入客户端口令:Facebook SDK 13.0 版本发布后,开发者现在需要在 SDK 中嵌入客户端口令。
  • 需使用 Java 8 字节码:现在开发者需使用 Java 8 字节码以避免应用出现编译错误。
  • 停用公告:SDK 12 系列版本(包括 12.1、12.2 等版本)现处于停用状态。从今天起,开发者需着手向 13.0 版本迁移,以防将已停用的 SDK 用于其应用程序。

请在下方查看有关这些更新的更多详情。

SDK 13.0 版本发布

我们将于今日在 Android 和 iOS 平台上发布开放平台 SDK 13.0 版本。在此版本中,我们将增加对 Facebook 图谱 API 13.0 版本和市场营销 API 13.0 版本的 SDK 支持。此博文将重点介绍与图谱 API 13.0 版本和市场营销 API 13.0 版本相关的其他公告、产品更新和提醒。

其他重点更新内容

以下内容概述了 SDK 13.0 版本的其他更新内容和相关更改:

实现 SDK 现代化:从 Objective-C 转换为 Swift

为实现开放平台 SDK 的现代化,我们正在将 SDK 代码从 Objective-C 转换为 Swift。SDK 13.0 版本包括一些转换工作带来的更改,可能需要开发者采取相应措施。这些更改包括:

  • 部分类型已从 Objective-C 转换为 Swift。开发者在使用 GamingServicesKit 和大部分 ShareKit 时可能需要使用模块化导入语句,以避免在 Objective-C 中遇到编译错误。在这种情况下,开发者在使用这些工具包中的符号时,需要在 Objective-C 文件中使用 @import 而不是 #import。开发者还可以参考更新日志,详细了解如何使用模块化导入语句。
  • 此外,我们正在尝试进一步减少在 ShareKit 中使用 Objective-C 值类型。从 SDK 13.0 版本发布开始,ShareKit 内容类型将不再实施以下行为:遵守 NSCopying 协议、自定义哈希性和等价性,以及遵守 NSSecureCoding。开发者可以查看更新日志以了解详情。
  • 我们还对应用事件报告界面的类型作出了更多更新,因此它们现在已使用正式的应用事件和参数名称。使用 Swift 代码的开发者需要使用 AppEvents.NameAppEvents.ParameterName 实例来分别表示应用事件的名称和参数名称。使用 Objective-C 代码的开发者可以继续使用字符串值来引用报告界面。开发者可以查看更新日志以了解详情。

将游戏组件从 ShareKit 迁移到 GamingServicesKit:

在 SDK 13.0 版本中,我们已将六种公共类型游戏组件从 ShareKit 迁移到 GamingServicesKit,同时这些公共类型也已从 Objective-C 转换为 Swift。六种已迁移的公共类型为:GameRequestActionTypeGameRequestContentGameRequestDialogGameRequestDialogDelegateGameRequestFilter 以及 GameRequestURLProvider

停用及重大更改:

Android 版 Facebook SDK 中的嵌入式 Android 广告主编号权限请求:

Android SDK 13.0 版本现在默认嵌入 Android 广告主编号权限请求。此更改根据 Google Play 服务广告主编号政策而实施。我们要求开发者在 2022 年 4 月之前采取以下行动,以避免其应用服务中断:

  • 所有使用 Android SDK 12.1 及更低版本的开发者都应将其升级到 13.0 版本
  • 采用应用事件的开发者应采取以下步骤:
    • 如果使用 12.1 或更低版本:升级到 13.0 版本
    • 如果使用 12.2 或 12.3 版本:在 App Manifest 文件中包含 Android 广告主编号权限请求,以接收有效的广告主编号(点击此处了解详情)
    • 如果使用 13.0 版本及更高版本:无需任何操作,相关版本默认包含 Android 广告主编号权限请求
  • 未采用应用事件的开发者应采取以下步骤:
    • 如果使用 12.3 或更低版本:确保已禁用应用事件标志(点击此处了解详情)
    • 如果使用 13.0 及更高版本:确保已禁用应用事件标志(点击此处了解详情),并移除 Android 广告主编号权限请求(点击此处了解详情)

需在 SDK 中嵌入客户端口令:

从开放平台 SDK 13.0 版本发布开始,开发者现在需要在 SDK 中嵌入客户端口令以用于图谱 API 调用。在 SDK 中嵌入客户端口令有助于我们更有效地分析开放平台产生的问题,并提升整个开放平台的性能。自开放平台 SDK 13.0 版本发布后,如遇访问口令或身份验证口令不可用,则可使用客户端口令来处理图谱 API 调用。因此,任何使用 SDK 13.0 及更高版本且未嵌入客户端口令的应用都会在 SDK 初始化时发生异常。开发者可以详细了解如何将应用的客户端口令嵌入到 Android SDK(点击此处)和 iOS SDK(点击此处)中,以避免服务中断。

需使用 Java 8 字节码:

Kotlin 宣布 Kotlin/JVM 编译器将默认生成 Java 8 字节码,为保持一致,我们现在要求使用 Android 版 Facebook SDK 的开发者升级到 Java 8 字节码,以避免在应用编译过程中遇到任何问题。开发者可以点击此处了解更多关于升级到 Java 8 字节码的信息。

停用开放平台 SDK 12.0 系列版本:

SDK 13.0 版本发布后,我们宣布 SDK 12.0 系列版本将处于停用状态,为期 2 年。在此停用期间,我们不会对 SDK 12.0 系列版本上出现的任何问题提供正式维护支持。在 2 年停用期结束后,我们将弃用 SDK 12.0 系列版本且不再运营。鉴于 SDK 12.0 系列版本已停用,我们鼓励开发者尽快迁移到 SDK 13.0 版本,以使用拥有正式维护支持的 SDK,享受更优质的全新体验。

版本停用信息:

以下是已停用的 Facebook 开放平台 SDK 版本以及相关日期:

  • 2022 年 2 月 24 日:iOS 和 Android SDK 12 系列版本(已停用)
  • 2021 年 10 月 21 日:iOS 和 Android SDK 11 系列版本(已停用)
  • 2021 年 6 月 8 日:iOS、Android 和 Unity SDK 9 系列版本(已停用)
  • 2021 年 1 月 19 日:iOS、Android 和 Unity SDK 8.2 及更低版本(已停用)

更新日志:

访问更新日志来查看对 SDK 作出的具体更改,并持续关注计划改进的最新动态: