Назад к новостям для разработчиков

Представляем SDK Платформы Facebook версии 13.0 и связанные с ним обновления

Сегодня мы выпускаем Facebook SDK версии 13.0 и дополнительные обновления для SDK Платформы Facebook. В этой публикации описаны обновления и шаги, которые помогут разработчикам избежать проблем при интеграции приложений с нашей платформой. Краткое описание некоторых обновлений в SDK версии 13.0:

  • Поддержка API Graph версии 13.0: добавлена поддержка API Graph 13.0 и API Marketing 13.0.
  • Встроенный запрос разрешений для рекламных ID Android в Facebook SDK: Android SDK 13.0 включает запрос разрешений для рекламных ID Android по умолчанию, что соответствует политике сервисов Google Play в отношении рекламных ID. Чтобы избежать проблем с работой приложений, всем разработчикам, пользующимся Facebook SDK для Android, потребуется принять соответствующие меры до апреля 2022 г., когда эта политика Google вступит в силу.
  • Обязательное включение маркера клиента в SDK: с выпуском Facebook SDK 13.0 разработчикам потребуется включать маркеры клиентов в SDK.
  • Обязательное использование байт-кода Java 8: чтобы избежать ошибок при компиляции приложений, разработчикам потребуется использовать байт-код Java 8.
  • Объявления об упразднении: SDK версии 12 (включая 12.1, 12.2 и т. д.) упразднен. Начиная с сегодняшнего дня разработчикам следует начать переходить на SDK версии 13.0, чтобы не использовать упраздненные SDK для приложений.

Подробную информацию об обновлениях вы найдете ниже.

Выпуск SDK 13.0

Сегодня выпускается Facebook SDK версии 13.0 для Android и iOS. В этой версии добавлена поддержка SDK для API Graph 13.0 и API Marketing 13.0. Дополнительные важные новости, информацию об обновлениях продуктов и напоминания в отношении API Graph 13.0 и API Marketing 13.0 можно найти в этой записи в блоге.

Другие ключевые обновления

Ниже приведен обзор других обновлений и изменений в SDK версии 13.0.

Модернизация SDK: переход с Objective-C на Swift

В рамках модернизации наших SDK мы переводим их код с Objective-C на Swift. В SDK версии 13.0 есть изменения, связанные с этим переходом, из-за которых могут потребоваться действия со стороны разработчиков. Вот некоторые изменения:

  • Некоторые типы преобразованы из Objective-C в Swift. Разработчикам может потребоваться использовать модульные операторы импорта при работе с GamingServicesKit и большинством классов ShareKit, чтобы избежать ошибок компиляции на Objective-C. В таких случаях разработчикам следует использовать @import вместо #import в файлах Objective-C, если применяются символы из этих наборов. Подробнее об использовании модульных операторов импорта см. в журнале изменений.
  • Кроме того, мы еще более сокращаем применение типов значений Objective-C в ShareKit. Начиная с выпуска SDK 13.0 типы контента ShareKit больше не будут следовать протоколам NSCopying и NSSecureCoding, а пользовательские типы — протоколам Hashable и Equatable. Подробную информацию можно найти в журнале изменений.
  • Мы также обновили интерфейсы отчетов о событиях в приложении: теперь используются формальные названия событий и параметров. Разработчики, пользующиеся Swift, должны использовать экземпляры AppEvents.Name и AppEvents.ParameterName для представления названий событий в приложении и названий параметров соответственно. Если вы работаете с Objective-C, можно продолжать использовать строковые значения для ссылки на интерфейсы отчетов. Подробную информацию можно найти в журнале изменений.

Перенос игровых компонентов из ShareKit в GamingServicesKit

В рамках выпуска SDK версии 13.0 шесть открытых типов для игр перенесены из ShareKit в GamingServicesKit. Они также преобразованы из Objective-C в Swift. Это типы GameRequestActionType, GameRequestContent, GameRequestDialog, GameRequestDialogDelegate, GameRequestFilter и GameRequestURLProvider.

Упраздненные элементы и важные изменения

Встроенный запрос разрешений для рекламных ID Android в Facebook SDK для Android

В Android SDK версии 13.0 запрос разрешений для рекламных ID Android включен по умолчанию. Это изменение вносится согласно политике сервисов Google Play в отношении рекламных ID. Чтобы избежать нарушений в работе приложений, выполните эти действия до апреля 2022 г.:

  • Обновите Android SDK до версии 13.0, если вы пользуетесь версией 12.1 или более ранней.
  • Если вы используете События в приложении:
    • если вы пользуетесь SDK версии 12.1 или более ранней, обновите его до версии 13.0;
    • если вы пользуетесь SDK версии 12.2 или 12.3, включите в файл манифеста приложения запрос разрешений для рекламного ID, чтобы получить действительный рекламный ID Android (подробнее см. здесь);
    • если вы пользуетесь SDK версии 13.0 или более поздней, действий не требуется.
  • Если вы не используете События в приложении:
    • если вы пользуетесь SDK версии 12.3 или более ранней, отключите регистрацию событий в приложении (подробнее см. здесь);
    • если вы пользуетесь SDK версии 13.0 или более поздней, отключите регистрацию событий в приложении (подробнее см. здесь) и удалите запрос разрешений для рекламного ID Android (подробнее см. здесь).

Обязательное включение маркеров клиентов в SDK

Начиная с выпуска SDK Платформы версии 13.0 разработчикам необходимо включать маркер клиента в вызовы API Graph. Таким образом мы можем более эффективно анализировать проблемы с платформой и улучшать ее производительность в целом. В новой версии SDK Платформы маркеры клиентов используются для обработки вызовов API Graph, если маркер доступа или аутентификации недоступен. Из-за этого при инициализации SDK версии 13.0 или более поздней в приложении возникнет исключение, если маркер клиента отсутствует. Подробнее о включении маркера клиента приложения в Android SDK см. здесь, а в iOS SDK — здесь.

Обязательное использование байт-кода Java 8

В связи с объявлением о том, что компилятор Kotlin/JVM будет по умолчанию создавать байт-код Java 8, разработчикам, использующим Facebook SDK для Android, теперь потребуется перейти на этот байт-код, чтобы избежать ошибок при компиляции приложения. Подробнее о переходе на байт-код Java 8 см. здесь.

Упразднение SDK Платформы Facebook версии 12.0

С выпуском SDK 13.0 для SDK 12.0 наступает двухлетний период упразднения. В течение этого периода официальная поддержка по любым проблемам, возникшим в SDK 12.0, предоставляться не будет. По истечении этого периода SDK 12.0 будет полностью упразднен и перестанет работать. В связи с упразднением советуем разработчикам начать переход на SDK версии 13.0 как можно скорее, чтобы получить новейшие возможности и официальную поддержку.

Упразднение версий

Ниже указаны упраздненные версии SDK Платформы Facebook и даты их упразднения:

  • 24 февраля 2022 г.: Android SDK и iOS SDK версии 12
  • 21 октября 2021 г.: Android SDK и iOS SDK версии 11
  • 8 июня 2021 г.: Android SDK, iOS SDK и Unity SDK версии 9
  • 19 января 2021 г.: Android SDK, iOS SDK и Unity SDK версии 8.2 и более ранних

Журнал изменений

Ознакомьтесь с журналами изменений, где можно узнать о конкретных изменениях в SDK и о запланированных улучшениях: