迁移到版本 3.0.0

将您的应用从 com.yandex.android:mobmetricapushlib 迁移到 io.appmetrica.analytics:push 不应出现任何问题。

同时使用两个版本的AppMetrica Push SDK

由于我们重命名了组和主要组件,可能会出现应用程序同时使用两个版本的 AppMetrica SDK 的情况:com.yandex.android:mobmetricapushlib 和 io.appmetrica.analytics:push.

注意

这可能会导致报告出现异常,不建议这样做。

迁移指南

本指南包含示例,展示 SDK 版本 2.3.3 和 3.0.0 之间的差异。 该部分仅涵盖不具备向后兼容性的方法。

这是迁移到新版本的方法

  1. 确保您使用的是 AppMetrica SDK 版本 io.appmetrica.analytics:analytics:6.0.0 或更高版本。
  2. 将 com.yandex.android:mobmetricapushlib:2.3.3 依赖项更改为 io.appmetrica.analytics:push:3.0.0.
  3. 在项目代码中,替换那些仅被重命名或只改变了包的类和方法。 你需要做的修改列在重命名类的段落中。
  4. 临时注释掉仍存在错误的代码,以确保项目能够成功构建。
  5. 修改任何已存在的排除规则。 你需要做的修改列在重命名依赖项的段落中。
  6. 根据本指南的其他段落,编辑您已注释的代码。 如果您有任何问题,请联系支持团队。

重命名依赖项

  • 将模块 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 已移至单独的 依赖项。

Other

  • 将默认通知通道的名称更改为appmetrica_push. 旧的默认通道不会被删除。

如果您没有找到所需答案,可以通过反馈表单提交您的问题。 请尽可能详细地描述问题。 如果可能,请附上截图。

联系支持 为文档提出改进建议