返回開發人員最新消息

全新推出 Facebook 平台 SDK v13.0 版及相關更新

2022年2月24日發佈者:Jim Phillips

今天,我們隆重推出 Facebook SDK v13.0 版和 Facebook 平台的其他 SDK 更新。本文將概述這些更新項目,以及開發人員在需要的情況下應採取的必要步驟,以免將其應用程式整合至我們平台時受到干擾。快速了解本次推出 SDK v13.0 版的部分更新內容:

  • 支援 Graph API v13.0 版:加入對 Graph API v13.0 版和推廣 API v13.0 版的支援。
  • 在 Android 版 Facebook SDK 中內嵌 Android 廣告客戶編號權限要求:Android SDK v13.0 版現會預設加入 Android 廣告客戶編號權限要求,這與 Google Play 服務中的廣告客戶編號政策一致。所有使用 Android 版 Facebook SDK 的開發人員均需在 Google 的已規劃執行政策開始(即 2022 年 4 月)前採取行動,以免服務中斷。
  • 要求在 SDK 中嵌入用戶端憑證:推出 Facebook SDK v13.0 版後,開發人員現在需要在 SDK 中嵌入用戶端憑證。
  • 要求使用 Java 8 位元組碼:開發人員現在需要使用 Java 8 位元組碼,以免應用程式出現編譯錯誤。
  • 停用公告:SDK v12 版(包括 v12.1、v12.2 等版本)目前處於停用狀態。由今天起,開發人員需要開始準備轉用 v13.0 版,以防在其應用程式使用已停用的 SDK。

請在下方查看有關這些更新的更多詳情。

推出 SDK v13.0 版

今天,我們將在 Android 和 iOS 平台推出平台 SDK v13.0 版。在這次版本推出,我們加入了對 Facebook Graph API v13.0 版和推廣 API v13.0 版的 SDK 支援。我們撰寫這篇網誌文章,目的就是重點說明與 Graph API v13.0 版和推廣 API v13.0 版相關的其他公告、產品更新和提醒。

其他重要更新

下文概述本次推出 SDK v13.0 版的其他更新和相關變更:

實現 SDK 現代化:從 Objective-C 轉換為 Swift

為實現平台 SDK 的現代化,我們正將 SDK 代碼從 Objective-C 轉換為 Swift。本次推出 SDK v13.0 版,過程可能需要開發人員採取行動,因為當中包括為配合轉換而需實行的變更,其中一些變更包括:

  • 部分類型已由 Objective-C 轉換為 Swift。開發人員在使用 GamingServicesKit 和大部分 ShareKit 時可能需要使用模組化匯入陳述式,以免在 Objective-C 中遇到編譯錯誤。在這種情況下,開發人員在使用這些工具套件中的符號時,需要在 Objective-C 檔案中使用 @import 而非 #import。開發人員還可以參考變更記錄,進一步了解如何使用模組化匯入陳述式。
  • 此外,我們正在嘗試進一步減少在 ShareKit 中使用 Objective-C 值類型。由推出 SDK v13.0 版起,ShareKit 內容類型將不再實施以下行為:符合 NSCopying 協定、自訂雜湊和等價性,以及符合 NSSecureCoding。開發人員可以查看變更記錄以了解詳情。
  • 我們亦對應用程式事件分析報告介面的類型作出了其他更新,現在正式的應用事件和參數名稱已獲使用。使用 Swift 代碼的開發人員需要使用 AppEvents.NameAppEvents.ParameterName 實例來分別表示應用程式事件的名稱和參數名稱。使用 Objective-C 代碼的開發人員可以繼續使用字串值來參照分析報告介面。開發人員可以查看變更記錄以了解詳情。

將遊戲組件從 ShareKit 遷移至 GamingServicesKit:

在 SDK v13.0 版中,我們已將六種遊戲組件公開類型從 ShareKit 遷移至 GamingServicesKit,而這些公開類型亦已從 Objective-C 轉換為 Swift。六種已遷移的公開類型為:GameRequestActionTypeGameRequestContentGameRequestDialogGameRequestDialogDelegateGameRequestFilterGameRequestURLProvider

停用項目及重大變更:

在 Android 版 Facebook SDK 中內嵌 Android 廣告客戶編號權限要求:

Android SDK v13.0 版現會預設加入 Android 廣告客戶編號權限要求。我們實施本次變更的原因,是要與 Google Play 服務廣告客戶編號政策保持一致。我們要求開發人員在 2022 年 4 月之前採取以下行動,以免應用程式服務中斷:

  • 所有使用 Android SDK v12.1 版及以下版本的開發人員都應將其升級至 v13.0 版
  • 採用應用程式事件的開發人員應當採取以下步驟:
    • 如果正在使用 v12.1 版或以下版本:升級至 v13.0 版
    • 如果正在使用 v12.2 版或 v12.3 版:在 App Manifest 檔案中加入 Android 廣告客戶編號權限要求,以便接收有效的廣告客戶編號(按此了解詳情)
    • 如果正在使用 v13.0 版及以上版本:無需採取任何行動,因為這些版本已預設加入 Android 廣告客戶編號權限要求
  • 未有採用應用程式事件的開發人員應當採取以下步驟:
    • 如果正在使用 v12.3 版或以下版本:確保已停用應用程式事件標誌(按此了解詳情)
    • 如果正在使用 v13.0 版及以上版本:確保已停用應用程式事件標誌(按此了解詳情),以及移除 Android 廣告客戶編號權限要求(按此了解詳情)

要求在 SDK 中嵌入用戶端憑證:

由推出平台 SDK v13.0 版起,開發人員現在需要在 SDK 中嵌入用戶端憑證以用於 Graph API 呼叫。在 SDK 中嵌入用戶端憑證有助我們更有效地分析平台問題,從而提升平台的整體表現。啟用平台 SDK v13.0 版後,如果存取憑證或驗證憑證無法使用,現在可以使用用戶端憑證來處理 Graph API 呼叫。因此,任何使用 SDK v13.0 版及以上版本且未嵌入用戶端憑證的應用程式在 SDK 初始化時均會出現異常情況。開發者可以進一步了解如何將應用程式的用戶端憑證嵌入 Android SDK(按此)和 iOS SDK(按此),以免服務中斷。

要求使用 Java 8 位元組碼:

有見 Kotlin 宣佈 Kotlin/JVM 編譯器預設產生 Java 8 位元組碼,為保持一致性,我們現在要求使用 Android 版 Facebook SDK 的開發人員升級至 Java 8 位元組碼,以免在應用程式編譯過程中遇到任何問題。開發人員可以按此進一步了解升級至 Java 8 位元組碼的相關資訊。

停用平台 SDK v12.0 版:

隨著 SDK v13.0 版的推出,我們宣佈 SDK v12.0 版目前處於停用狀態,並會持續 2 年。在此停用期間,我們不會對 SDK v12.0 版上出現的任何問題提供正式維護支援。2 年停用期結束後,我們將會棄用 SDK v12.0 版,此版本將不再運作。鑒於 SDK v12.0 版已停用,我們建議開發人員儘快開始轉用 SDK v13.0 版,以便使用可受正式維護支援的 SDK,享受更優質的全新體驗。

版本停用資訊:

以下是已停用的 Facebook 平台 SDK 版本及其相關日期:

  • 2022 年 2 月 24 日:iOS 和 Android SDK v12 版(已停用)
  • 2021 年 10 月 21 日:iOS 和 Android SDK v11 版(已停用)
  • 2021 年 6 月 8 日:iOS、Android 和 Unity SDK v9 版(已停用)
  • 2021 年 1 月 19 日:iOS、Android 和 Unity SDK v8.2 版及以下版本(已停用)

變更記錄:

瀏覽變更記錄,查看對 SDK 作出的特定變更,獲取有關已規劃改進項目的最新消息: