Блог AppMetrica

AppMetrica SDK: самое важное в последних обновлениях

Теперь в AppMetrica SDK: новые методы работы с крэшами и ошибками. В iOS — поддержали детские приложения, а в Android — R8 и отложенные диплинки. Обновили плагин Unity и выпустили первую версию модуля React Native. Но обо всём по порядку.

Крэши и ошибки

Уже видели полностью новые отчёты по крэшам и ошибкам? Не обошлось и без соответствующих обновлений в SDK. Ведь чтобы получить в отчётах данные, их надо сначала отправить из приложения.

В свежих версиях SDK появились новые методы работы с крэшами. При этом, что важно, в iOS перестали работать старые. Поэтому, обновляя AppMetrica, убедитесь в том, ошибки и крэши собираются корректно. Подробную информацию о методах ищите в нашей документации для Android и iOS.

А еще с помощью крэш-плагина AppMetrica позволяет собирать информацию о нативных и java-крэшах.Информация о крэшах на Android может отправляться в обфусцированном виде.

Для работы с новыми методами сбора крэшей и ошибок, обновите Android SDK до версии не ниже 3.14.2 и iOS SDK до версии 3.11.1 или выше.

R8 и окружение крэшей в Android

Мы заметили, что вместо привычного ProGuard разработчики всё чаще используют обфускатор R8 от Google. Он сокращает и оптимизирует java байт-код. Плагин для загрузки mapping-файлов теперь поддерживает и R8. Только убедитесь в том, что используете SDK версии не ниже 3.8.0.

Также в Android появилась поддержка  окружения крэшей. Оно прилагается к stack trace каждого java-креша:

Окружение крэша находится во вкладке "Environment"

В окружение будет полезно передать информацию, которая редко меняется, но позволит расследовать инцидент и исправить ошибку:

  • Идентификатор экспериментальной группы, при работе с A/B тестами.
  • Фактическое значение существенных для работы приложения опций: энергосберегающий режим работы, работа в фоне, использование прокси и пр.
  • Версии подключенных сторонних библиотек.

Android: поддержка отложенных диплинков и прекращение поддержки broadcast

Помимо крэшей и ошибок, в Android-версии есть ещё пара важных изменений.

Отложенные диплинки

С версией 3.14.2 в Android SDK появился интерфейс DeferredDeeplinkListener, получающий отложенный диплинк. Теперь диплинк можно передать в приложение даже до установки. Например, автоматически выдать пользователю промокод, если он установил приложение по баннеру промоакции. Примеры использования метода — в документации.

Прекращение поддержки бродкастов

Google больше не отправляет бродкасты, поэтому мы прекращаем поддержку метода registerReferrerBroadcastReceivers.

iOS и детские приложения

Ради сохранения конфиденциальности данных детей, предназначенные для них приложения больше не могут:

  • Использовать стороннюю рекламу или аналитику.
  • Передавать данные третьим лицам.

Иногда сторонняя аналитика всё же разрешается: если сервисы не собирают и не передают IDFA или другую идентифицирующую информацию о детях: имя, дату рождения, email, местоположение. Сюда же относится любая информация об устройстве, сети или что-то ещё, если это можно использовать, для идентификации пользователей. В том числе, сочетая данные между собой.

Для прохождения модерации в App Store, подключите SDK версии 3.11.1 или выше. Задействуйте в нём новое свойство appForKids — оно поможет избежать проблем при выкладке релиза, если ваше приложение размещается в категории «Дети». Такие приложения, специально разработаны для детей в возрасте до 11 лет.

Примеры использования свойства appForKids — в документации.

Unity плагин: детские приложения, поддержка referral URL, Search Ads, iAd, и уточнённый подсчёт revenue

Поддержка свойства appForKids появилась и в Unity плагине. Но есть и другие важные дополнения:

  • Вернули метод ReportReferralUrl.
  • Добавили метод ReportAppOpen. Теперь можно отследить, что приложение было открыто через диплинк. Полезно, при передаче промокодов в ремаркетинге, либо при трекинге кампаний Facebook.
  • iAd framework теперь можно подключить по упрощённому сценарию. Достаточно добавить директиву APP_METRICA_ADD_IAD_FRAMEWORK в меню Settings → Other Settings → Scripting Define → Symbols.
  • Добавили свойство PriceDecimal в класс YandexAppMetricaRevenue. Настоятельно рекомендуем использовать его вместо устаревшего свойства Price — это уточнит данные по revenue. Устаревшее свойство задействовало формат double, некорректно хранящий дроби.

Поддержка React Native

Выпустили ожидаемый многими плагин для React Native. Больше не нужно писать собственные обёртки — берём поддержку на себя.

--
Проверяйте срок годности вашего SDK
— Команда AppMetrica