Руководство по миграции на версию 2.0.0
Одновременное использование двух версий AppMetrica Push SDK
В одном приложении могут использоваться сразу две версии AppMetrica Push SDK.
Внимание
Это делать не рекомендуется, так как может приводить к аномалиям в отчетах. То есть нельзя одновременно активировать AppMetricaPush
и использовать префаб AppMetricaPush
из старой версии. Это не приведет к сбоям и крэшам в приложении, но вызовет искажение и нарушение статистики. При миграции на новую версию плагина проверьте, что у вас нет папки Assets/AppMetricaPush
, новая версия плагина поставляется через UPM и будет располагаться в Library/PackageCache/io.appmetrica.analytics.push@hash
.
Руководство по миграции
Руководство содержит примеры, демонстрирующие различия между версиями плагина 1.1.0
и 2.0.0
. В разделе рассматриваются только те методы, в которых нарушена обратная совместимость.
Для миграции на новую версию выполните следующие шаги:
- Удалите старую версию плагина.
- Добавьте новую версию плагина используя UPM. Подробнее смотрите в разделе про подключение плагина.
- Замените префаб на активацию через RuntimeInitializeOnLoadMethodAttribute. Подробнее смотрите в разделе про замену префаба.
- В коде проекта замените те классы и методы, которые были переименованы или поменяли только пакет. Подробнее смотрите в разделе про переименования.
Подключение AppMetrica Push Unity Plugin 2.0.0
Для подключения плагина используется Unity Package Manager.
Добавьте зависимости в Packages/manifest.json:
{
"dependencies": {
"io.appmetrica.analytics.push": "https://github.com/appmetrica/push-unity-plugin.git#v2.0.0"
}
}
Замена префаба
-
Создайте static метод с атрибутом
[RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.BeforeSceneLoad)]
и произведите активацию AppMetricaPush с помощью методаAppMetricaPush.Activate()
.Пример:
using Io.AppMetrica; using Io.AppMetrica.Push; using UnityEngine; public static class AppMetricaActivator { [RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.BeforeSceneLoad)] private static void Activate() { AppMetrica.Activate(new AppMetricaConfig("APIKey")); AppMetricaPush.Activate(); } }
Примечание
AppMetricaPush.Activate()
должен вызываться послеAppMetrica.Activate()
. -
Удалите
AppMetricaPush
префаб с ваших сцен.
Переименование API
Примечание
Для работы с AppMetricaPush используйте static методы из класса AppMetricaPush
. Для этого замените AppMetricaPush.Instance
на AppMetricaPush
и добавьте импорт Io.AppMetrica.Push
.
- Интерфейс
IYandexMetricaPush
удален, методы перенесены в классAppMetricaPush
.- Метод
Initialize
переименован вActivate
.
- Метод