История изменений

Внимание.

Это архивная версия документации. Актуальная документация по всем платформам находится здесь.

Версия 5.3.0

Релиз 3 марта 2023 г.

  • Исправлен возможный warning при установке и запуске приложения Class com.yandex.metrica.impl.ob.Zh failed lock verification and will run slower и аналогичные.

  • Исправлен возможный ANR at com.yandex.metrica.impl.ob.p3$b.onServiceConnected(SourceFile:2).

  • Исправлены ошибки и повышена стабильность.

Версия 5.2.0

Релиз 19 сентября 2022 г.

Версия 5.0.1

Релиз 29 июля 2022 г.

  • Исправлена проблема, которая могла приводить к повторным ложным установкам.

Версия 5.0.0

Релиз 20 мая 2022 г.

Примечание.

Начиная с версии AppMetrica Android SDK 5.0.0 и выше при переустановке приложения на смартфоне меняется appmetrica_device_id. Это обусловлено новыми политиками Google. Подробности в документации.

Версия 4.2.0

Релиз 17 февраля 2022 г.

  • Добавлен новый API для отслеживания крэшей и ошибок из произвольных плагинов.

    Интерфейсы:
  • Поддержан даунгрейд на версию 4.2.0 и выше с сохранением важных данных: идентификаторов устройства и т. д. Использовать даунгрейд не рекомендуется, это может привести к потере и искажению данных. Повторная атрибуция для таких пользователей не произойдет.
  • Добавлена поддержка Google Play Billing Library версии 4.0.0. Поддержка версий 3.x продолжается.
  • В методе DeferredDeeplinkParametersListener аргумент referrer стал @NonNull. В случае его отсутствия придет пустая строка.
  • Убрали определение ROOT-статуса на устройствах с Android 12 и выше. На текущий момент все устройства с Android 12 будут считаться устройствами без ROOT-доступа.
  • Исправлены ошибки и повышена стабильность:
    • Исправлен возможный крэш при попытке подключения к сервису MetricaService: Process: com.yandex :Metrica java.lang.RuntimeException: Unable to bind to service com.yandex.metrica.MetricaService Caused by: java.lang.IllegalArgumentException at android.os.Parcel.nativeAppendFrom(Native Method).
    • Исправлен возможный ANR в процессе: Metrica: at com.yandex.metrica.impl.ob.jg.a (jg.java) at com.yandex.metrica.MetricaService.onConfigurationChanged(MetricaService.java:2).
    • Исправлен возможный крэш: java.lang.NullPointerException: Attempt to read from null array at com.yandex.metrica.impl.ob.tz.a.

Версия 4.1.1

Релиз 17 декабря 2021 г.

Версия 4.0.0

Релиз 20 сентября 2021 г.

  • Google Play Install Referrer через BroadcastReceiver больше не поддерживается:
    • удален из AndroidManifest MetricaEventHandler;
    • удален метод YandexMetrica#registerReferrerBroadcastReceivers;
    • удален флаг YandexMetricaConfig#installedAppCollecting;
    • удалены методы YandexMetricaConfig.Builder#withInstalledAppCollecting.
  • Добавлен метод YandexMetricaConfig.Builder#withSessionsAutoTrackingEnabled(boolean enabled) для автоматического отслеживания сессий.
  • Добавлен метод revenueAutoTrackingEnabled для автоматического сбора данных по in-app покупкам.
  • Поддержана публикация ".module" файла для Google Play SDK Console.
  • Реализован и включен по умолчанию автотрекинг диплинков.
  • Добавлена базовая поддержка Android 12 — основной функционал AppMetrica SDK доступен на устройствах с Android 12 в приложениях с targetSdkVersion = 31.
  • minSdkVersion повышен до 14.

Версия 3.21.0

Релиз 26 мая 2021 г.

  • Добавлен метод YandexMetrica#initWebViewReporting для отправки событий из JS-кода WebView.
  • Обновлена версия Play Install Referrer Library до 2.2.
  • Поддержан crashpad для сбора нативных крешей. Нативная библиотека версии 2.0.0 и выше использует crashpad, более ранние версии — breakpad. Используемый механизм зависит от версии подключенной нативной библиотеки.
  • Исправлены ошибки и повышена стабильность.

Версия 3.20.2

Релиз 29 апреля 2021 г.

  • Исправлена совместимость с Unity.

Версия 3.20.1

Релиз 14 апреля 2021 г.

  • Добавлена возможность задавать идентификатор пользовательского профиля во время активации (YandexMetricaConfig.Builder#withUserProfileID) или до активации (YandexMetrica#setUserProfileID), что позволяет избавиться от пустых профилей без идентификатора.
  • Обновлена версия Play Install Referrer Library до 2.1.
  • Исправлена некорректная обработка deeplink из обратного вызова Activity#onNewIntent(Intent). Необходимо внести следующие правки в интеграцию:

    Вместо вызова:

    
        @Override
        protected void onNewIntent(final Intent intent) {
            super.onNewIntent(intent);
            YandexMetrica.reportAppOpen(this);
        }
    Скопировано

    Необходим вызов:

        @Override
        protected void onNewIntent(final Intent intent) {
            super.onNewIntent(intent);
            YandexMetrica.reportAppOpen(intent);
        }
    Скопировано
  • Исправлены ошибки и повышена стабильность.

Версия 3.18.0

Релиз 15 января 2021 г.

  • Поддержано соответствие новым политикам Google в контексте сбора геолокации.

Версия 3.16.2

Релиз 13 ноября 2020 г.

  • Исправлен возможный крэш: java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.ComponentName android.app.Activity.getComponentName()' on a null object reference.
  • Исправлено логирование поля price в классе Revenue: GitHub Issue #31.

Версия 3.16.1

Релиз 14 октября 2020 г.

Версия 3.15.0

Релиз 29 июля 2020 г.

  • Повышены производительность и качество статистических данных.

Версия 3.14.3

Релиз 9 июля 2020 г.

  • Исправлена возможная проблема совместимости с Mobile Ads SDK.

Версия 3.14.2

Релиз 8 июля 2020 г.

Версия 3.13.1

Релиз 3 марта 2020 г.

  • Повышены производительность и качество статистических данных.

Версия 3.10.0

Релиз 4 февраля 2020 г.

  • Возобновлена поддержка метода reportReferralUrl класса YandexMetrica.
  • Повышено качество обработки крэшей.
  • Повышены производительность и качество статистических данных.

Версия 3.8.0

Релиз 8 октября 2019 г.

  • Добавлена возможность загрузки mapping-файлов с помощью специального плагина.
  • Повышены производительность и качество статистических данных.

Версия 3.7.2

Релиз 20 сентября 2019 г.

Версия 3.6.4

Релиз 13 июня 2019 г.

  • Исправлена проблема, которая могла приводить к потере событий.
  • Повышены производительность и качество статистических данных.

Версия 3.6.2

Релиз 21 мая 2019 г.

  • Повышены производительность и качество статистических данных.

Версия 3.6.1

Релиз 15 мая 2019 г.

  • Повышены производительность и качество статистических данных.

Версия 3.6.0

Релиз 23 апреля 2019 г.

  • В класс Revenue добавлены:
  • Обновлен Google Breakpad. Новая версия поддерживает все архитектуры процессоров. Подробнее в разделе Примеры использования методов.
    Примечание. При сборе нативных крэшей на устройствах с x86 архитектурой процессора возможны ошибки.
  • Повышено качество сбора крэшей при запуске приложения.
  • Добавлен дамп потоков для крэшей.
  • Исправлена проблема, которая могла приводить к утечке памяти в потоках.

Версия 3.5.3

Релиз 30 января 2019 г.

  • Повышены производительность и качество статистических данных.

Версия 3.5.1

Релиз 28 декабря 2018 г.

  • Повышены производительность и качество статистических данных.

Версия 3.5.0

Релиз 14 декабря 2018 г.

  • Повышены производительность и качество статистических данных.

Версия 3.4.0

Релиз 5 ноября 2018 г.

  • Добавлена поддержка Android 9.
  • Улучшено логирование работы библиотеки.
  • Повышены производительность и качество статистических данных.

Версия 3.2.2

Релиз 9 августа 2018 г.

  • Повышены производительность и качество статистических данных.

Версия 3.2.1

Релиз 30 июля 2018 г.

  • Повышены производительность и качество статистических данных.

Версия 3.2.0

Релиз 23 июля 2018 г.

  • Добавлен метод setStatisticsSending() для отключения отправки статистики.
  • Добавлен метод requestAppMetricaDeviceID() для получения уникального идентификатора AppMetrica (appmetrica_device_id).
  • Добавлен метод sendEventsBuffer() для принудительной отправки событий из буфера.
  • Повышены производительность и качество статистических данных.

Версия 3.1.0

Релиз 30 мая 2018 г.

  • Добавлена возможность атрибуции через deeplink (Re-engagement).
  • Добавлен механизм, позволяющий ускорить отправку event-постбеков для высокочастотных событий.
  • Добавлена интеграция с библиотекой Play Install Referrer Library. Библиотека предоставляет информацию о том, когда началась загрузка приложения из Google Play. Это позволяет улучшить аттрибуцию.

Версия 3.0.0

Релиз 25 апреля 2018 г.

Версия 2.80

Релиз 27 декабря 2017 г.

  • Добавлены исправления и незначительные улучшения работы библиотеки для Android 8.
  • Внесены изменения в процесс интеграции через .jar .
  • API LEVEL библиотеки — 64. Измените его в файле AndroidManifest.xml.

Версия 2.78

Релиз 19 ноября 2017 г.

  • Добавлены исправления и незначительные улучшения работы библиотеки.
  • API LEVEL библиотеки — 63. Измените его в файле AndroidManifest.xml.

Версия 2.77

Релиз 9 октября 2017 г.

  • Добавлена поддержка Android 8.
  • Добавлены исправления и незначительные улучшения работы библиотеки.
  • API LEVEL библиотеки — 62. Измените его в файле AndroidManifest.xml.

Версия 2.76

Релиз 17 августа 2017 г.

  • Добавлен метод reportReferralURL() задающий referral URL установки приложения.
  • Внесены изменения в процесс интеграции через .jar.
  • Добавлены исправления и незначительные улучшения работы библиотеки.
  • API LEVEL библиотеки — 61. Измените его в файле AndroidManifest.xml.

Версия 2.73

Релиз 15 июня 2017 г.

  • Добавлены исправления и незначительные улучшения работы библиотеки.
  • API LEVEL библиотеки — 58. Измените его в файле AndroidManifest.xml.

Версия 2.71

Релиз 1 июня 2017 г.

  • Добавлен метод для трекинга открытий приложения с помощью deeplink: reportAppOpen(String deeplink) .
  • Исправлена ошибка при получении параметров отложенных deeplinks.
  • API LEVEL библиотеки — 56. Измените его в файле AndroidManifest.xml.

Версия 2.70

Релиз 16 мая 2017 г.

  • Добавлена поддержка отложенного deeplink.
  • Повышена стабильность работы библиотеки.
  • Улучшен отлов крэшей, возникающих при запуске приложения.
  • Добавлен вывод в лог параметров отправляемых событий.
  • API LEVEL библиотеки — 55. Измените его в файле AndroidManifest.xml.

Версия 2.62

Релиз 30 декабря 2016 г.

  • Повышена стабильность работы библиотеки.
  • Добавлены исправления и незначительные улучшения работы библиотеки.
  • API LEVEL библиотеки — 52. Измените его в файле AndroidManifest.xml.

Версия 2.60

Релиз 21 ноября 2016 г.

  • Добавлено отслеживание открытий приложения через deeplink.
  • Добавлена возможность сообщить AppMetrica, что приложение было установлено на устройство до подключения библиотеки AppMetrica SDK. Это позволит AppMetrica отличать первый запуск приложения после интеграции с SDK от первого запуска приложения в его истории. Такой запуск не будет являться признаком нового пользователя.
  • Повышена стабильность работы библиотеки.
  • API LEVEL библиотеки — 50. Измените его в файле AndroidManifest.xml.

Версия 2.51

Релиз 29 сентября 2016 г.

  • Повышена стабильность работы библиотеки.
  • Добавлена поддержка Android 7.
  • Добавлен запрет на резервное копирование данных AppMetrica SDK в Google-аккаунт.
  • API LEVEL библиотеки — 48. Измените его в файле AndroidManifest.xml.

Версия 2.42

Релиз 17 июня 2016 г.

  • Повышена производительность и исправлены ошибки.
  • API LEVEL библиотеки — 45. Измените его в файле AndroidManifest.xml.

Версия 2.41

Релиз 27 марта 2016 г.

  • Оптимизация энергопотребления при отправке данных.
  • API LEVEL библиотеки — 44. Измените его в файле AndroidManifest.xml.

Версия 2.40

Релиз 28 марта 2016 г.

  • Добавлена отправка статистики с использованием API key, отличного от API key приложения.
  • API LEVEL библиотеки — 43. Измените его в файле AndroidManifest.xml.

Версия 2.32

Релиз 29 января 2016 г.

  • Повышены стабильность библиотеки и качество статистических данных.
  • API LEVEL библиотеки — 41. Измените его в файле AndroidManifest.xml.

Версия 2.30

Релиз 16 декабря 2015 г.

  • Добавлена возможность инициализации библиотеки с помощью расширенной конфигурации, которая гарантирует, что все параметры конфигурации будут применены при отправке первого события.
  • Добавлена возможность задавать информацию для отслеживания предустановленных приложений.
  • Оптимизация для повышения качества статистики.
  • API LEVEL библиотеки — 39. Измените его в файле AndroidManifest.xml.

Версия 2.23

Релиз 25 ноября 2015 г.

  • Добавлена поддержка Yandex Mobile Ads 2.00.
  • API LEVEL библиотеки — 38. Измените его в файле AndroidManifest.xml.

Версия 2.21

Релиз 20 октября 2015 г.

  • API LEVEL библиотеки — 36. Измените его в файле AndroidManifest.xml.
  • Удален метод YandexMetrica.isMetricaProcess().
  • Отключена отправка по умолчанию сведений об установленных приложениях.
  • Добавлен метод isCollectInstalledApps() — позволяет узнать, включена ли отправка сведений об установленных на устройстве приложениях.
  • Добавлен метод enableActivityAutoTracking(final Application application) , который позволяет включить автоматическое отслеживание жизненного цикла приложения.
  • Добавлен метод registerReferrerBroadcastReceivers(BroadcastReceiver...anotherReferrerReceivers) , который позволяет зарегистрировать в AppMetrica произвольное число BroadcastReceiver для трекинга INSTALL_REFERRER от GooglePlay при использовании других систем трекинга.
  • По умолчанию, из Maven Central теперь подключается библиотека в AAR-формате. Для подключения библиотеки в JAR-формате, необходимо явно указывать классификатор: compile "com.yandex.android:mobmetricalib-internal:2.21:jar".
  • Добавлен метод setLogEnabled() , который позволяет включить логирование работы библиотеки.
  • Исправлена ошибка, которая приводила к аварийной остановке приложения: java.lang.NullPointerException at com.yandex.metrica.impl.ob.f.b.

Версия 2.0

Релиз 27 августа 2015 г.

  • API LEVEL библиотеки — 32. Измените его в файле AndroidManifest.xml.
  • Изменен формат API key. Идентификатор приложения в новом формате доступен в веб-интерфейсе AppMetrica в режиме редактирования приложения.

    Где найти API key
  • Метод инициализации библиотеки в приложении переименован c initialize(android.content.Context, java.lang.String) на activate(android.content.Context, java.lang.String).
  • Изменена длительность тайм-аута сессии. По умолчанию значение составляет 10 секунд.
  • Библиотека адаптирована к Android M.
  • Повышена производительность и снижено энергопотребление.
  • Удалены устаревшие методы.

    Нажмите, чтобы посмотреть список
    • setReportsEnabled(boolean enabled) — позволяет включить и отключить отправку отчетов.
    • setDispatchPeriod(int dispatchPeriodSeconds) — позволяет задать интервал в секундах между отправками накопившихся событий на сервер.
    • setMaxReportsCount(int maxReportsCount) — позволяет задать число событий в хранилище, при достижении которого происходит отправка всех накопившихся событий на сервер.
    • startNewSessionManually() — позволяет запустить новую сессию вручную.
    • sendEventsBuffer() — позволяет отправить все накопившиеся события, не дожидаясь автоматической отправки на сервер.

Версия 1.82

Релиз 19 июня 2015 г.

  • API LEVEL библиотеки — 31. Измените его в файле AndroidManifest.xml.
  • Повышено качество подсчета статистики сессий и установок.
  • Осуществлен переход на protobuf-nano — увеличена скорость работы и сокращен общий размер библиотеки. Если вы использовали библиотеку protobuf-2.5.0 для работы с библиотекой AppMetrica, удалите ее.
  • В файле AndroidManifest.xml не указываются

    provider:

    <provider
        android:name="FULL_PACKAGE_PATH_TO_YOUR_PROVIDER.MetricaContentProvider"
        android:authorities="ROOT_PACKAGE_PATH.MetricaContentProvider"
        android:enabled="true"
        android:exported="true"/>

    следующие intent-filter для com.yandex.metrica.MetricaEventHandler:

    <intent-filter>
        <action android:name="com.yandex.metrica.intent.action.SYNC"/>
    </intent-filter>
    
    <intent-filter>
        <action android:name="android.intent.action.PACKAGE_ADDED"/>
        <action android:name="android.intent.action.PACKAGE_DATA_CLEARED"/>
        <data android:scheme="package"/>
    </intent-filter>
  • Для работы библиотеки AppMetrica не требуется создавать в пакете приложения собственный класс провайдера с названием MetricaContentProvider, наследующий класс com.yandex.metrica.MetricaContentProvider. Удалите его из своего приложения.

Версия 1.65

Релиз 24 февраля 2015 г.

  • API LEVEL библиотеки — 21. Измените его в файле AndroidManifest.xml.
  • Повышена надежность статистики.

Версия 1.60

Релиз 28 октября 2014 г.

  • Добавлена бесплатная поддержка трекинга установок приложений.
  • API LEVEL библиотеки — 16. Измените его в файле AndroidManifest.xml.
  • Главный класс API переименован из Counter в YandexMetrica .
  • Все методы стали статическими, поэтому любое использование методов через объект Counter.sharedInstance() производите с помощью класса YandexMetrica .
  • API-ключ (metrica:api:key) в файле AndroidManifest.xml игнориуется. Он задается программно во время инициализации библиотеки в приложении: в методе activate передается контекст и API-ключ вашего приложения.
  • В файле AndroidManifest.xml не указывается receiver для com.yandex.metrica.CampaignReceiver. Его intent-filter указывается в receiver для com.yandex.metrica.MetricaEventHandler:

    ...
    <intent-filter>
        <action android:name="com.android.vending.INSTALL_REFERRER"/>
    </intent-filter>
    ...
  • Запрещен метод setLocation(double, double) для установки локации. Используйте метод setLocation(android.location.Location) .
  • Добавлена поддержка нативных аварийных остановок приложения.
  • Добавлена отправка событий с дополнительными параметрами (Json, Attributes).
  • Повышена стабильность и улучшено быстродействие.
  • Ускорен запуск библиотеки.
  • Улучшена работа с локацией.