iOS用Facebook SDKスタートガイド

このガイドでは、iOS用Facebook SDKを使用してiOSアプリをFacebookに統合する方法を示します。

2022年初頭にリリース予定のSDK v13.0以降は、グラフAPIに対するすべての呼び出しで、クライアントトークンが必要になります。

Facebook SDKを利用すれば、次のことが可能です。

The SDK team is eager to learn from you! Fill out this survey to tell us what’s most important to you. Facebook SDK for Android and iOS Survey.

開始する前に

以下が必要です。

アプリIDを入手する

作成する各アプリには一意のIDがあります。アプリのIDを入手するには、次のようにします。

  1. 開発者アカウントでサインインします。
  2. アプリページを開きます。
  3. 当該アプリを見つけ、[アプリID]をクリックします。アプリIDがクリップボードにコピーされます。

クライアントトークンを入手する

作成する各アプリには一意のクライアントトークンがあり、Facebookにアクセスするにはそれを使用します。詳しくは、アクセストークンをご覧ください。アプリのクライアントトークンを入手するには、次のようにします。

  1. 開発者アカウントでサインインします。
  2. アプリページでアプリを選んで、そのアプリのダッシュボードを開きます。
  3. ダッシュボードで、[設定] > [詳細] > [セキュリティ] > [クライアントトークン]に移動します。

ステップ1: 開発環境を設定する

  1. Xcodeで、[File] > [Swift Packages] > [Add Package Dependency]の順にクリックします。
  2. 表示されるダイアログで、リポジトリURLとしてhttps://github.com/facebook/facebook-ios-sdkを入力します。
  3. [Version]で、[Up to Next Major]を選択し、デフォルトのオプションを指定します。
  4. プロンプトを完了し、プロジェクトで使用するライブラリを選択します。
  5. 目的プロジェクトに追加するパッケージ

    アプリでFacebookサービスを使用できるようにする

    FacebookCore

    ユーザーがアプリにログインできるようにし、アプリがデータへのアクセス許可をリクエストできるようにする

    FacebookLogin

    アプリがFacebook上のコンテンツをシェアできるようにする

    FacebookShare

    ユーザーがアプリにログインすることにより、エンゲージメントを可能にしたりソーシャル機能を宣伝したりできるようにする

    FacebookGamingServices

ステップ2: プロジェクトを構成する

Info.plistファイルに、アプリに関するデータが含まれているXMLスニペットを挿入します。
  1. Info.plistを右クリックし、[プログラムで開く]▸[ソースコード]を選択します。
  2. 次のXMLスニペットをコピーして、ファイルの本文(<dict>...</dict>)に貼り付けます。
    <key>CFBundleURLTypes</key>
    <array>
      <dict>
      <key>CFBundleURLSchemes</key>
      <array>
        <string>fbAPP-ID</string>
      </array>
      </dict>
    </array>
    <key>FacebookAppID</key>
    <string>APP-ID</string>
    <key>FacebookClientToken</key>
    <string>CLIENT-TOKEN</string>
    <key>FacebookDisplayName</key>
    <string>APP-NAME</string>
  3. キー[CFBundleURLSchemes]<array><string>にあるAPP-IDは、自身のアプリIDに置き換えてください。
  4. キーFacebookAppID<string>にあるAPP-IDは、自身のアプリIDに置き換えてください。
  5. キーFacebookClientToken<string>にあるCLIENT-TOKENは、アプリダッシュボードの[設定 > 高度 > クライアントトークン]にある値に置き換えてください。
  6. キーFacebookDisplayName<string>にあるAPP-NAMEは、実際のアプリ名に置き換えてください。
  7. Facebookアプリへのアプリ切り替えを実行できるFacebookダイアログ(ログイン、シェア、アプリの招待など)のいずれかを使用するには、アプリのInfo.plistに以下を含める必要があります。
    <key>LSApplicationQueriesSchemes</key>
    <array>
      <string>fbapi</string>
      <string>fb-messenger-share-api</string>
    </array>
ログインをMac Catalystアプリケーションで機能させるには、プロジェクトにキーチェーン共有機能を組み込む必要があります。
  1. アプリターゲットを設定する際には、[署名と機能]タブの[+ 機能]を選択します。
  2. キーチェーン共有機能を見つけて選択します。
  3. ターゲットにキーチェーン共有機能がリストされていることを確認します。

ステップ3: アプリデリゲートに接続する

AppDelegate.swiftメソッドのコードを次のコードに置き換えます。このコードは、アプリの起動時にSDKを初期化し、ログインアクションまたはシェアアクションが実行されたときにネイティブFacebookアプリのログインとシェアリングをSDKが処理できるようにします。このコードを使用しない場合は、ユーザーは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]
        )
    }  
}

iOS 13では、URLを開く機能は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]
    )
}

ステップ4: プロジェクトを作成し、シミュレーターで実行する

Xcodeで、iOSシミュレーターを選択して[実行]をクリックします。Xcodeがプロジェクトを作成し、シミュレーターで実行しているアプリの最新バージョンを起動します。

ステップ5: イベントマネージャで結果を確認する


Facebookに送信したイベントは[イベントマネージャ]に表示されます。このコードでアプリを初めて起動した場合には、イベントが表示されるまで20分以上待つ必要があります。
注: ダッシュボードにイベントが表示されるまで最大20分ほどかかる場合があります。

次のステップ

アプリイベントや他のFacebook製品をアプリに実装する方法について詳しくは、以下のボタンをクリックしてください。

iOSでのシェアFacebookログインを追加するアプリイベントを追加するグラフAPIを使用する
詳細設定