このガイドでは、iOS用Facebook SDKを使用してiOSアプリをFacebookに統合する方法を示します。
SDK v13.0以降は、Graph APIのすべての呼び出しにクライアントトークンが必要になります。
Facebook SDKを利用すれば、次のことが可能です。
| 目的 | プロジェクトに追加するパッケージ |
|---|---|
アプリでFacebookサービスを使用できるようにする |
|
ユーザーがアプリにログインできるようにし、アプリがデータへのアクセス許可をリクエストできるようにする |
|
アプリがFacebook上のコンテンツをシェアできるようにする |
|
ユーザーがアプリにログインすることにより、エンゲージメントを可能にしたりソーシャル機能を宣伝したりできるようにする |
|
Info.plistファイルに、アプリに関するデータが含まれているXMLスニペットを挿入します。 Facebookログインを統合すると、特定のアプリイベントは、アプリイベントの自動記録を無効にしない限り、イベントマネージャのために自動的に記録、収集されます。これは、アプリコードで変更できます。また、アプリダッシュボードかイベントマネージャの[アプリイベント]の下のトグルで切り替えることもできます。AutoLogAppEventsEnabledのフラグとトグルとの間で値が競合している場合、「Facebook SDKの自動イベント記録」のトグル値が優先されることに注意してください。収集される情報やアプリイベントの自動記録を無効にする方法については、アプリイベントの自動記録をご覧ください。
Info.plistを右クリックし、[プログラムで開く]▸[ソースコード]を選択します。 <dict>...</dict>)に貼り付けます。 [CFBundleURLSchemes]の<array><string>にあるAPP-IDは、自身のアプリIDに置き換えてください。FacebookAppIDの<string>にあるAPP-IDは、自身のアプリIDに置き換えてください。FacebookClientTokenの<string>にあるCLIENT-TOKENは、アプリダッシュボードの[設定 > 高度 > クライアントトークン]にある値に置き換えてください。FacebookDisplayNameの<string>にあるAPP-NAMEは、実際のアプリ名に置き換えてください。Info.plistに以下を含める必要があります。 Info.plistにキーとしてFacebookAutoLogAppEventsEnabledを追加することで、アプリイベントの自動収集をtrueまたはfalseに直接設定できるようになります。
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]
)
}
}
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]
)
}
アプリイベントや他のFacebook製品をアプリに実装する方法について詳しくは、以下のボタンをクリックしてください。
iOSでのシェア Facebookログインを追加する アプリイベントを追加する グラフAPIを使用する