Facebook SDK для iOS: начало работы

Facebook SDK для iOS позволяет без труда интегрировать приложение iOS с Facebook. Этот инструмент предлагает целый ряд возможностей.

Настроить приложение для использования Facebook SDK можно двумя способами. Если вы еще не зарегистрировали приложение на Facebook, воспользуйтесь инструментом «Быстрое начало работы». Другой вариант: использовать приведенные ниже инструкции по настройке вручную.

Быстрое начало работы для iOS

Шаг 1. Настройте параметры приложения Facebook для iOS

  1. Откройте Панель приложений Facebook. Для этого нажмите кнопку ниже и выберите приложение.
  2. Открыть Панель приложений Facebook

  3. Выберите Настройки в левом навигационном меню.
  4. Нажмите Добавить платформу в нижней части страницы и выберите iOS.
  5. Найдите свой идентификатор комплекта в Xcode и скопируйте его в буфер обмена.
  6. Вернитесь в Панель приложений и вставьте идентификатор в поле ID сборки.
  7. Активируйте Единый вход.
  8. Нажмите Сохранить изменения в нижней части окна Панели приложений.

Шаг 2. Скачайте Facebook SDK для iOS

  1. Нажмите кнопку ниже, чтобы скачать SDK.
  2. Скачать iOS SDK

  3. Распакуйте архив в папку ~/Documents/FacebookSDK.

Шаг 3. Добавьте SDK в проект

Чтобы добавить SDK в Xcode:

  1. Откройте проект Xcode своего приложения.
  2. Если у вас нет группы Frameworks в проекте, создайте ее.
  3. Откройте ~/Documents/FacebookSDK с помощью Finder.
  4. Перетащите файлы Bolts.framework, FBSDKCoreKit.framework, FBSDKLoginKit.framework и FBSDKShareKit.framework в группу FrameworksProject Navigator Xcode. В появившемся диалоговом окне выберите Create groups for any added folders и отмените выбор Copy items if needed. Это позволяет создать ссылку на место установки SDK, вместо того чтобы копировать SDK в приложение.
  5. Откройте вкладку Build Settings в своем проекте.
  6. Добавьте ~/Documents/FacebookSDK в настройку проекта Framework Search Paths.

При использовании Facebook SDK события в приложения автоматически регистрируются и собираются для Facebook Analytics, только если вы не выключите автоматическую регистрацию событий. Подробнее о том, какая информация собирается и как выключить автоматическую регистрацию событий, см. Автоматическая регистрация событий в приложении.

Шаг 4. Настройте проект Xcode

  1. В Xcode нажмите правой кнопкой мыши файл со списком свойств (info.plist) и выберите Open As (Открыть как) -> Source Code (Исходный код).
  2. Вставьте сниппет XML в основной текст файла перед конечным элементом </dict>.
  3. <key>CFBundleURLTypes</key>
    <array>
      <dict>
        <key>CFBundleURLSchemes</key>
        <array>
          <string>fb{your-app-id}</string>
        </array>
      </dict>
    </array>
    <key>FacebookAppID</key>
    <string>{your-app-id}</string>
    <key>FacebookDisplayName</key>
    <string>{your-app-name}</string>
    <key>LSApplicationQueriesSchemes</key>
    <array>
      <string>fbapi</string>
      <string>fb-messenger-api</string>
      <string>fbauth2</string>
      <string>fbshareextension</string>
    </array>
    <key>NSPhotoLibraryUsageDescription</key>
      <string>{human-readable reason for photo access}</string>
  4. Замените fb{your-app-id} на ID своего приложения Facebook с префиксом fb. Например: fb123456. Найти ID приложения можно в Панели приложений Facebook.
  5. Замените {your-app-id} ID своего приложения.
  6. Замените {your-app-name} на отображаемое название, которое вы указали в панели приложений.
  7. Замените {human-readable reason for photo access} причиной, по которой вашему приложению нужен доступ к фото.

Шаг 5. Подключите делегат приложения

Чтобы обрабатывать результаты действий, требующих перехода в нативное приложение Facebook или Safari, например «Вход через Facebook» или диалоги Facebook, подключите класс AppDelegate к объекту FBSDKApplicationDelegate. Чтобы сделать это, добавьте следующий код к файлу AppDelegate.m.

//  AppDelegate.m
#import <FBSDKCoreKit/FBSDKCoreKit.h>

- (BOOL)application:(UIApplication *)application 
    didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
  
  [[FBSDKApplicationDelegate sharedInstance] application:application
    didFinishLaunchingWithOptions:launchOptions];
  // Add any custom logic here.
  return YES;
}

- (BOOL)application:(UIApplication *)application 
            openURL:(NSURL *)url 
            options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options {

  BOOL handled = [[FBSDKApplicationDelegate sharedInstance] application:application
    openURL:url
    sourceApplication:options[UIApplicationOpenURLOptionsSourceApplicationKey]
    annotation:options[UIApplicationOpenURLOptionsAnnotationKey]
  ];
  // Add any custom logic here.
  return handled;
}

Примечание. В интеграции -application:openURL:sourceApplication:annotation:, показанной выше, вызов к FBSDKApplicationDelegate требуется для корректной работы отсроченного перехода по диплинку.

Шаг 6. Добавьте События в приложении

Теперь, когда SDK установлен и настроен, вы можете проверить его, добавив события в свое приложение. События помогают понять, как люди используют ваше приложение. Вы можете регистрировать 14 стандартных событий, таких как добавление в корзину в приложении для электронной торговли или достижение уровня в игре. Кроме того, вы можете создать индивидуально настроенное событие.

Регистрация активаций приложения

Чтобы узнать, сколько людей используют ваше приложение, регистрируйте активации приложения. Для этого добавьте следующий код к файлу AppDelegate.m.

//  AppDelegate.m
#import <FBSDKCoreKit/FBSDKCoreKit.h>
- (void)applicationDidBecomeActive:(UIApplication *)application {
  [FBSDKAppEvents activateApp];
}

Чтобы проверить регистрацию событий, сделайте следующее:

  1. Скомпилируйте и запустите свое приложение.
  2. Выберите свое приложение в панели Facebook Analytics.
  3. Откройте Facebook Analytics

  4. В меню слева выберите Действия -> События.

Активации появятся в панели событий не сразу. Если вы не видите активаций, подождите минуту и обновите страницу.

Дальнейшие действия

Инструкции по интеграции Событий и других продуктов Facebook в приложение можно найти в следующих руководствах.

Публикация материалов в iOSДобавление «Входа через Facebook»Добавьте События в приложенииИспользование API Graph для iOSКнопка «Нравится» для iOS
Расширенная конфигурация