Миграция на версию 3.0.0
Миграция приложения с com.yandex.android:mobmetricapushlib
на io.appmetrica.analytics:push
не должна вызвать проблем.
Одновременное использование 2 версий AppMetrica Push SDK
Так как были переименованы группа и названия основных артефактов, может сложиться ситуация, при которой в одном приложении будут использоваться сразу 2 версии AppMetrica Push SDK: com.yandex.android:mobmetricapushlib
и io.appmetrica.analytics:push
.
Внимание
Это делать не рекомендуется, так как может приводить к аномалиям в отчетах.
Руководство по миграции
Руководство содержит примеры, демонстрирующие различия между версиями SDK версий 2.3.3
и 3.0.0
.
В разделе рассматриваются только те методы, в которых нарушена обратная совместимость.
Для миграции на новую версию необходимо выполнить следующие шаги
- Убедиться, что используется AppMetrica SDK версии не ниже
io.appmetrica.analytics:analytics:6.0.0
. - Поменять зависимость
com.yandex.android:mobmetricapushlib:2.3.3
наio.appmetrica.analytics:push:3.0.0
. - В коде проекта заменить те, классы и методы, которые были просто переименованы или поменяли только пакет. Необходимые изменения указаны в пункте про переименование классов.
- Код с остальными ошибками временно закомментировать чтобы проект можно было собрать.
- Поменять
exclude
правила, если они имелись. Необходимые изменения указаны в пункте про переименование зависимостей. - Исправить закомментированный код, используя остальные пункты данной инструкции. При возникновении вопросов написать в поддержку.
Переименованные зависимости
- Модуль
com.yandex.android:mobmetricapushlib
переименован вio.appmetrica.analytics:push
. - Модуль
com.yandex.android:appmetricapush-provider-firebase
переименован вio.appmetrica.analytics:push-provider-firebase
. - Модуль
com.yandex.android:appmetricapush-provider-hms
переименован вio.appmetrica.analytics:push-provider-hms
. - Модуль
com.yandex.android:appmetricapush-provider-rustore
переименован вio.appmetrica.analytics:push-provider-rustore
. - Модуль
com.yandex.android:appmetricapush-core
распался наio.appmetrica.analytics:push-core-utils
иio.appmetrica.analytics:push-provider-api
.
Переименованные классы
- Класс
com.yandex.metrica.push.TokenUpdateListener
переименован вio.appmetrica.analytics.push.TokenUpdateListener
. - Класс
com.yandex.metrica.push.YandexMetricaPush
переименован вio.appmetrica.analytics.push.AppMetricaPush
.- изменена константа
EXTRA_ACTION_INFO
. - метод
getToken
удален. - метод
init
переименован вactivate
.
- изменена константа
- Класс
com.yandex.appmetrica.push.firebase.FirebasePushServiceControllerProvider
переименован вio.appmetrica.analytics.push.provider.firebase.FirebasePushServiceControllerProvider
. - Класс
com.yandex.appmetrica.push.hms.HmsPushServiceControllerProvider
переименован вio.appmetrica.analytics.push.provider.hms.HmsPushServiceControllerProvider
. - Класс
com.yandex.appmetrica.push.hms.MetricaHmsMessagingService
переименован вio.appmetrica.analytics.push.provider.hms.AppMetricaHmsMessagingService
. - Класс
com.yandex.appmetrica.push.rustore.MetricaRuStoreMessagingService
переименован вio.appmetrica.analytics.push.provider.rustore.AppMetricaRuStoreMessagingService
. - Класс
com.yandex.appmetrica.push.rustore.RuStorePushServiceControllerProvider
переименован вio.appmetrica.analytics.push.provider.rustore.RuStorePushServiceControllerProvider
. - Класс
com.yandex.metrica.push.common.core.PushServiceControllerProvider
переименован вio.appmetrica.analytics.push.provider.api.PushServiceControllerProvider
. - Класс
com.yandex.metrica.push.common.core.PushServiceController
переименован вio.appmetrica.analytics.push.provider.api.PushServiceController
. - Класс
com.yandex.metrica.push.firebase.MetricaMessagingService
переименован вio.appmetrica.analytics.push.provider.firebase.AppMetricaMessagingService
.
Другое
- Дефолтный канал уведомлений переименован в
appmetrica_push
. Старые дефолтные каналы не удаляются.
Если вы не нашли ответ на свой вопрос, то вы можете задать его через форму обратной связи. Пожалуйста, опишите возникшую проблему как можно подробнее. Если возможно, приложите скриншот.