本指南說明如何使用 Facebook iOS SDK 將您的 iOS 應用程式與 Facebook 整合。
自 SDK 13.0 版開始,對圖形 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] ) }