Миграция на версию 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.
Класс io.appmetrica.analytics.push.provider.firebase.AppMetricaMessagingService вынесен в отдельную зависимость.
Другое
- Дефолтный канал уведомлений переименован в
appmetrica_push.
Старые дефолтные каналы не удаляются.
Если вы не нашли ответ на свой вопрос, то вы можете задать его через форму обратной связи. Пожалуйста, опишите возникшую проблему как можно подробнее. Если возможно, приложите скриншот.