返回開發人員最新消息

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 版的支援。
  • 在 Facebook Android SDK 中內嵌 Android 廣告主編號的權限要求:為配合廣告主編號的相關 Google Play 服務政策,Android SDK 13.0 版現在預設為包含 Android 廣告主編號的權限要求。Google 預計在 2022 年 4 月開始執行此政策,所有使用 Facebook Android SDK 的開發人員都必須在此之前採取行動,以避免服務中斷。
  • 在 SDK 中內嵌用戶端權杖的規定生效:隨著 Facebook SDK 13.0 版的發行,開發人員現在必須在 SDK 中內嵌用戶端權杖。
  • 使用 Java 8 位元組碼的規定生效:我們現在要求開發人員必須使用 Java 8 位元組碼,以避免應用程式編譯錯誤。
  • 停用公告:SDK 第 12 版(包括 12.1 版、12.2 版等等)現在為停用狀態。即日起,開發人員應開始移轉至 13.0 版,以避免將已停用的 SDK 用於其應用程式。

請參閱下文,瞭解這些更新內容的其他詳細資訊。

SDK 13.0 版發行

今天開放平台 SDK 13.0 版正式跨 Android 和 iOS 平台推出。我們在此版本中新增了 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。這六種移轉的公開類型為:GameRequestActionTypeGameRequestContentGameRequestDialogGameRequestDialogDelegateGameRequestFilterGameRequestURLProvider

停用項目與重大變更:

在 Facebook Android 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 版,請在應用程式資訊清單檔案中加入 Android 廣告主編號權限要求,以接收有效的廣告主編號(到這裡瞭解詳情)
    • 如果使用 13.0 和以上版本,無須採取任何動作,預設為包含 Android 廣告主編號權限要求
  • 不使用應用程式事件的開發人員應採取下列步驟:
    • 如果使用 12.3 或以下版本,請確認應用程式事件標示已停用(到這裡瞭解詳情)
    • 如果使用 13.0 和以上版本,請確認應用程式事件標示已停用(到這裡瞭解詳情),並移除 Android 廣告主編號權限要求(到這裡瞭解詳情)

在 SDK 中內嵌用戶端權杖的規定生效:

自開放平台 SDK 13.0 版開始,開發人員現在必須在用於圖形 API 呼叫的 SDK 中內嵌用戶端權杖。在 SDK 中包含用戶端權杖可讓我們更有效地分析平台問題,並提高整個平台的效能。隨著開放平台 SDK 13.0 版推出,當存取權杖或驗證權杖無法使用時,我們現在會使用用戶端權杖來處理圖形 API 呼叫。因此,使用 SDK 13.0 和以上版本而未包含用戶端權杖的任何應用程式,將會在初始化 SDK 時發生例外情況。開發人員可以進一步瞭解如何在 Android SDK(請到這裡)和 iOS SDK(請到這裡)中內嵌應用程式的用戶端權杖,以避免發生任何服務中斷的情況。

使用 Java 8 位元組碼的規定生效:

依據 Kotlin 公告,Kotlin/JVM 編譯器預設會產生 Java 8 位元組碼,因此我們現在要求使用 Facebook Android 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 的特定變更,並瞭解計畫改善項目的最新資訊: