本指南會講解如何使用 Facebook iOS SDK 將您的 iOS 應用程式與 Facebook 整合。
由 SDK v13.0 版開始,您必須為所有對 Graph API 的呼叫提供用戶端憑證。
Facebook SDK 允許:
如果您想 | 將此專案套件加至您的專案 |
---|---|
允許您的應用程式使用 Facebook 服務 |
|
允許用戶登入應用程式,以及讓應用程式要求獲取數據存取權限 |
|
允許您的應用程式在 Facebook 上分享內容 |
|
允許用戶登入您的應用程式,以允許他們參與互動並推廣社交功能 |
|
Info.plist
檔案。 在您整合 Facebook 登入後,除非您停用事件自動記錄功能,否則系統會為事件管理工具自動記錄並蒐集特定應用程式事件。若要進一步了解系統會蒐集哪些資料,以及如何停用事件自動記錄功能,請參閱應用程式事件自動記錄一文。
Info.plist
點擊右鍵,然後選擇開啟格式 ▸ 原始碼。 <dict>...</dict>
)。 [CFBundleURLSchemes]
鍵值的 <array><string>
中,將 [APP-ID] 替換為您的應用程式編號。FacebookAppID
鍵值的 <string>
中,將 [APP-ID] 替換為您的應用程式編號。FacebookClientToken
鍵值的 <string>
中,將 [CLIENT-TOKEN] 替換為您在應用程式管理中心的設定 > 進階 > 用戶端憑證中找到的值。FacebookDisplayName
鍵值的 <string>
中,將 [APP-NAME] 替換為您的應用程式名稱。Info.plist
也必須包含以下項目: 您可以在 Info.plist
將 FacebookAutoLogAppEventsEnabled
加為鍵,以直接將自動蒐集應用程式事件的功能設為「true」或「false」。
AppDelegate.swift
方法中的程式碼替換為以下程式碼。此程式碼會在應用程式啟動時初始化 SDK,並在您執行登入或分享操作時,允許 SDK 處理原生 Facebook 應用程式所產生的登入和分享事件。否則,用戶必須登入 Facebook 以使用應用程式內瀏覽器登入。 // AppDelegate.swift import UIKit import FacebookCore @UIApplicationMain class AppDelegate: UIResponder, UIApplicationDelegate { func application( _ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? ) -> Bool { ApplicationDelegate.shared.application( application, didFinishLaunchingWithOptions: launchOptions ) return true } func application( _ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey : Any] = [:] ) -> Bool { ApplicationDelegate.shared.application( app, open: url, sourceApplication: options[UIApplication.OpenURLOptionsKey.sourceApplication] as? String, annotation: options[UIApplication.OpenURLOptionsKey.annotation] ) } }
SceneDelegate
。如果您正在使用 iOS 13,請將以下方法加到 SceneDelegate
中,以便登入或分享等操作能如預期執行: // SceneDelegate.swift import FacebookCore ... func scene(_ scene: UIScene, openURLContexts URLContexts: Set<UIOpenURLContext>) { guard let url = URLContexts.first?.url else { return } ApplicationDelegate.shared.application( UIApplication.shared, open: url, sourceApplication: nil, annotation: [UIApplication.OpenURLOptionsKey.annotation] ) }