Facebook iOS SDK——新手指南

針對您的 iOS 應用程式與 Facebook 整合。建立具吸引力的社交應用程式,讓用戶更容易登入,並吸引更多人安裝。

必備條件OS X、Xcode(DocumentationDownload)和 iOS 7 或更新版本。


1.下載 SDK

2.建立 Facebook 應用程式

3.應用程式設定

4.新增 SDK

5.設定 Xcode

6.連接應用程式委派

7.新增應用程式事件

後續步驟

1.下載 SDK

下載 SDK 並將封存檔案解壓縮至 ~/Documents/FacebookSDK

下載 iOS SDK

2.建立 Facebook 應用程式

如果您的應用程式尚未向 Facebook 註冊但已有應用程式編號,則應該建立這類應用程式。您可以跨平台分享應用程式編號。

建立新的應用程式

3.針對 iOS 設置 Facebook 應用程式設定

  1. 應用程式主控板選擇 Settings
  2. 點擊 Add Platform,然後選擇 iOS
  3. 接著在 Bundle ID 欄位提供程式套件識別碼。
  4. 啟用 Single Sign On
  5. 點擊 Save Changes

4.將 SDK 加入 Xcode 專案

若要在 Xcode 中新增 SDK:

  1. 開啟 ~/Documents/FacebookSDK
  2. FBSDKCoreKit.framework 拖曳至 Project Navigator 中的 Frameworks。如果沒有 Frameworks 群組,請建立一個新群組。
  3. 選擇 Create groups for any added folders
  4. 取消選取 Copy items into destination group's folder。這樣會參照您安裝的 SDK 位置,而不會將 SDK 複製到應用程式中。
  5. /Users/{username}/Documents/FacebookSDK 新增到專案的 Framework Search Paths 中(位於 Xcode 的 Build Settings 中)。

SDK 會自動載入架構與資源相依性。

5.設定 Xcode 專案

現在為專案設定 .plist

  1. 在 Xcode 中的 .plist 檔案上點擊滑鼠右鍵,然後選擇「以原始碼形式開啟」。
  2. 複製 XML 程式碼片段並在檔案內文中貼上(<dict>...</dict>)。
  3. 取代:
    • fb{your-app-id},取代為您的 Facebook 應用程式編號加上 fb 字首。例如:fb123456
    • {your-app-id} 使用您的 Facebook 應用程式編號。
    • {your-app-name} 取代為您在應用程式主控板中設定的 Display Name
<key>CFBundleURLTypes</key>
<array>
  <dict>
    <key>CFBundleURLSchemes</key>
    <array>
      <string>fb{your-app-id}</string>
    </array>
  </dict>
</array>
<key>FacebookAppID</key>
<string>{your-app-id}</string>
<key>FacebookDisplayName</key>
<string>{your-app-name}</string>

僅限 iOS9:Facebook 伺服器允許清單

如果您使用 iOS SDK 9.0 編譯應用程式,則會受到應用程式傳輸安全性的影響。您目前的作法是必須將下列項目新增到應用程式的 plist,將 Facebook 網域加入應用程式的允許清單:

<key>NSAppTransportSecurity</key>
<dict>
  <key>NSExceptionDomains</key>
  <dict>
    <key>facebook.com</key>
    <dict>
      <key>NSIncludesSubdomains</key> <true/>        
      <key>NSThirdPartyExceptionRequiresForwardSecrecy</key> <false/>
    </dict>
    <key>fbcdn.net</key>
    <dict>
      <key>NSIncludesSubdomains</key> <true/>
      <key>NSThirdPartyExceptionRequiresForwardSecrecy</key>  <false/>
    </dict>
    <key>akamaihd.net</key>
    <dict>
      <key>NSIncludesSubdomains</key> <true/>
      <key>NSThirdPartyExceptionRequiresForwardSecrecy</key> <false/>
    </dict>
  </dict>
</dict>
詳細資料:打造適用於 iOS9 的應用程式

6.連接應用程式代理

若要後續處理來自 Facebook 登入或 Facebook 對話框(或是任何需要切換至原生 Facebook 應用程式或 Safari 的動作)的結果,則必須將 AppDelegate 連接到 FBSDKApplicationDelegate。在 AppDelegate.m 中新增:

//  AppDelegate.m
#import <FBSDKCoreKit/FBSDKCoreKit.h>

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
  [[FBSDKApplicationDelegate sharedInstance] application:application
    didFinishLaunchingWithOptions:launchOptions];
  return YES;
}

- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation {
  return [[FBSDKApplicationDelegate sharedInstance] application:application
    openURL:url
    sourceApplication:sourceApplication
    annotation:annotation
  ];
}

7.新增應用程式事件

已安裝和設定 SDK。測試建置最簡單的方法,就是為應用程式新增應用程式事件。「應用程式事件」有助您瞭解應用程式的用戶組成名單。透過 14 個預先定義的事件(例如商務應用程式的「已加到購物車」或遊戲的「破關」)之一、或使用您定義的任何自訂事件來記錄事件,就能達成此目的。

記錄應用程式啟動

基本範例就是記錄應用程式啟動過程。若要進行此操作,請將下列程式碼片段加入 AppDelegate.m

//  AppDelegate.m
#import <FBSDKCoreKit/FBSDKCoreKit.h>
- (void)applicationDidBecomeActive:(UIApplication *)application {
  [FBSDKAppEvents activateApp];
}

確認記錄

  1. 編譯並啟動應用程式。
  2. 前往應用程式分析工具主控台,並選擇您的應用程式。
  3. 導覽至 Events > Most Recent

您應該會看見事件陸續顯示。系統有時需要一小段時間才會開始顯示事件;請點按「重新整理」並啟動應用程式數次,以便確認設定完全正確。


若要瞭解如何在應用程式上建置「應用程式事件」和其他產品,請閱讀我們在後續步驟中列出的指南。