Мы изменили конечные точки для Ограниченного входа. Теперь он доступен по адресу limited.facebook.com.
Когда люди входят в ваше приложение через Facebook, они могут предоставить ему разрешения, благодаря которым вы получите нужную информацию и сможете выполнять действия на Facebook от имени этих людей.
Следующие шаги позволяют добавить вход через Facebook в ваш проект приложения для iOS.
Войдите на Facebook, чтобы создать приложение или зарегистрироваться в качестве разработчика.
Настройте среду разработки перед тем, как использовать вход через Facebook для iOS.
Использование Swift Package Manager (SPM)Зарегистрируйте и настройте приложение для использования входа через 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] ) }
Добавьте в свое приложение для iOS кнопку "Вход через Facebook".
// Add this to the header of your file, e.g. in ViewController.swift import FacebookLogin // Add this to the body class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() let loginButton = FBLoginButton() loginButton.center = view.center view.addSubview(loginButton) } }
AccessToken.current
. LoginManager
настраивает этот маркер для вас, а при настройке AccessToken.current
он также автоматически записывает его в хранилище связки ключей. AccessToken
содержит userID
, который поможет вам идентифицировать пользователя. permissions
для объекта FBLoginButton
.