Обновления продукта
25 июля 2019

Большой пост про AppMetrica SDK: несколько поводов обновиться

Смартфоны становятся быстрее, безопаснее и дольше живут от одного заряда батареи. Это происходит не только из-за мощного железа, но и из-за обновлений мобильных ОС: постоянно появляются инструменты энергосбережения и работы с оперативной памятью, а также обновляются правила сбора данных.

С такими обновлениями меняются и условия работы нашего SDK. Мы регулярно добавляем новые фичи и учим AppMetrica работе с новыми политиками. Чтобы данные собирались стабильно и без потерь, следите за актуальностью AppMetrica SDK в своём приложении. Сегодняшний пост полностью посвящён последним новостям на этом поприще.

Что нового в AppMetrica SDK

Android SDK 3.6.4

Сбор ANR для крэш-отчетов и повышение стабильности

В июньскую версию добавили сбор ANR, ведь количество крэшей — не единственный показатель стабильности приложения. Информации о том, когда приложение не отвечает, пока нет в интерфейсе, но данные по ANR будут собираться на сервере, и ждать своего часа. Рекомендуем обновить SDK уже сейчас, чтобы на момент обновления отчётов AppMetrica иметь достаточное покрытие аудитории для анализа.

Кроме того, вместе с крэшами AppMetrica отправляет дампы потоков — они могут быть полезны в расследовании. Особенно, когда речь идет об ошибках, связанных с недостатком памяти — OutOfMemoryError.

Как обновить библиотеку, смотрите в нашей документации.

iOS SDK 3.7.1

Ручное управление сессиями

Сессия — одно из ключевых понятий при взаимодействии пользователя с приложением. Исходя из количества сессий определяется лояльность аудитории и эффективность самого приложения: чем больше конверсий в рамках одной сессии — тем лучше.

Для каждого приложения понятие сессии индивидуально. Где-то свернуть приложение на 10 секунд значит закончить сессию, а где-то можно прерваться на полчаса, а потом продолжить тот же сеанс взаимодействия:

Как считаются сессии

В новой версии iOS SDK мы добавили возможность вручную начинать сессию или ставить её на паузу. Также теперь любую активацию приложения можно считать стартом новой сессии. Это позволяет более гибко настраивать подсчёт под специфику приложения.

Decimal — точный подсчёт денег в revenue-событиях

В первых версиях revenue-событий мы считали деньги, используя тип данных double. Однако double не умеет точно хранить дроби: например, 0,3 может превратиться в 0,2999999, что при больших масштабах покупок даст заметную погрешность.

Понимая это, мы решили вместо double использовать decimal — этот тип сразу переводит данные в десятичный формат, который гораздо лучше подходит для денег. Точность подсчёта значительно повышается, поэтому, как обычно, настоятельно рекомендуем обновить SDK.

Как настроить сбор revenue-событий, смотрите в документации.

Общие улучшения

Чтобы SDK работал стабильней и потреблял меньше данных:

  • уменьшился объем данных, требуемых для отправки крэшей,
  • исправили информацию о времени работы приложения до крэша,
  • убрали метод reportReferraIUrl из списка актуальных. Раньше он нужен был для работы referrer-based tracking, но в iOS эта технология больше не поддерживается.

Как обновить библиотеку, смотрите в нашей документации.

Новые возможности пушей

Если вы давно не обновляли пуши, мы уверены, вам могут пригодиться эти фичи:

Android Push SDK 1.4.1 — кэширование картинок

Картинки из пушей теперь кэшируются на устройстве пользователя. Таким образом, если в пушах используются одни и те же изображения (например, тематические обложки), они будут подгружаться из кэша телефона, экономя интернет-трафик.

Параметры кэширования настраиваются в http-заголовке cache-control, получаемом с изображением. Кэш реализуется с помощью библиотеки OKHttp, поэтому появилась соответствующая зависимость.

Подробнее в документации.

iOS Push SDK 0.8.0 — облегченный трекинг пушей в открытом приложении

Если приложение примет пуш во время активного использования, отследить его получение и открытие — отдельная задача. Чтобы её упростить, используются различные реализации протокола UNUserNotificationCenterDelegate.

Мы сделали отдельный класс, который можно использовать в вашей версии делегата. Из класса убрали всё лишнее и оставили только параметры, необходимые для трекинга пушей.

Актуальные плагины

Плагины Xamarin и Unity используют актуальные версии AppMetrica SDK. Не забывайте регулярно обновлять и их тоже! :)