В этом руководстве рассказывается, как интегрировать приложение iOS с Facebook, используя Facebook SDK для iOS.
Начиная с версии SDK 13.0 для всех вызовов API Graph будет необходим маркер клиента.
Facebook SDK предлагает целый ряд возможностей:
Вам понадобятся:
Если вы хотите | Добавьте в проект этот пакет |
---|---|
Разрешить приложению использовать службы Facebook |
|
Разрешить пользователям входить в приложение, а приложению — запрашивать доступ к их данным |
|
Разрешить приложению публиковать контент на Facebook |
|
Разрешить пользователям входить в приложение, чтобы повышать вовлеченность и рекламировать социальные функции |
|
Info.plist
) с помощью сниппета XML, содержащего информацию о вашем приложении. После интеграции входа через Facebook определенные события в приложении будут автоматически регистрироваться и собираться для Events Manager, если только вы не отключите эту функцию. Подробнее о том, какая информация собирается и как отключить автоматическую регистрацию событий в приложении, см. в разделе Автоматическая регистрация событий в приложении.
Info.plist
и выберите Open As ▸ Source Code (Открыть как исходный код). <dict>...</dict>
). <array><string>
, содержащемся в ключе [CFBundleURLSchemes]
, замените APP-ID на ID своего приложения.<string>
, содержащемся в ключе FacebookAppID
, замените APP-ID на ID своего приложения.<string>
, содержащемся в ключе FacebookClientToken
, замените CLIENT-TOKEN на значение из раздела Настройки > Расширенные > Маркер клиента на Панели приложений.<string>
, содержащемся в ключе FacebookDisplayName
, замените APP-NAME на название своего приложения.Info.plist
вашего приложения также должен содержать следующий код: Вы можете напрямую установить для автоматической регистрации событий в приложении значения "true" или "false", если добавите FacebookAutoLogAppEventsEnabled
в качестве ключа в Info.plist
.
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] ) }
Инструкции по интеграции Событий в приложении и других продуктов Facebook в приложение см. в следующих руководствах.
Публикация контента в iOSДобавление входа через FacebookДобавление Событий в приложенииИспользование API Graph