iOS用Facebook SDKスタートガイド

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

SDK v13.0以降は、Graph APIのすべての呼び出しにクライアントトークンが必要になります。

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

開始する前に

以下の情報が必要です。

ステップ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スニペットを挿入します。

Facebookログインを統合すると、特定のアプリイベントは、アプリイベントの自動記録を無効にしない限り、イベントマネージャのために自動的に記録、収集されます。これは、アプリコードで変更できます。また、アプリダッシュボードかイベントマネージャの[アプリイベント]の下のトグルで切り替えることもできます。AutoLogAppEventsEnabledのフラグとトグルとの間で値が競合している場合、「Facebook SDKの自動イベント記録」のトグル値が優先されることに注意してください。収集される情報やアプリイベントの自動記録を無効にする方法については、アプリイベントの自動記録をご覧ください。

  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>

Info.plistにキーとしてFacebookAutoLogAppEventsEnabledを追加することで、アプリイベントの自動収集をtrueまたはfalseに直接設定できるようになります。

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を使用する
詳細設定

AltStyle によって変換されたページ (->オリジナル) /