迁移到版本 2.0.0

同时运行两个版本的AppMetrica Push SDK

在一个应用中可以同时运行两个版本的AppMetrica Push SDK。

注意

我们不建议在同一个应用中使用多个AppMetrica Push SDK 版本,因为这可能会导致报告出现异常。 换句话说,在使用旧版本的AppMetricaPush预制体时,不应该激活AppMetricaPush. 虽然这不会导致应用程序崩溃或失败,但会扭曲和破坏统计数据。 在迁移到新插件版本时,请确保不存在 Assets/AppMetricaPush 目录。 新的插件版本通过 UPM 提供,并保存到 Library/PackageCache/io.appmetrica.analytics.push@hash。

迁移指南

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

要迁移到新版本,请执行以下步骤:

  1. 删除之前的插件版本。
  2. 使用 UPM 添加新插件版本。 要了解更多信息,请查看启用插件的部分。
  3. 将预制体替换为通过 RuntimeInitializeOnLoadMethodAttribute 进行激活。 要了解更多信息,请查看替换预制体的部分。
  4. 在项目代码中,替换已重命名或仅更改包的类和方法。 要了解更多信息,请查看重命名部分。

启用 AppMetrica Push Unity 插件 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"
  }
}

替换预制件

  1. 创建一个静态方法,添加 [RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.BeforeSceneLoad)] 属性,然后使用 AppMetricaPush.Activate() 方法激活 AppMetricaPush。

    示例:

    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().

  2. 从你的场景中移除 AppMetricaPush 预制体。

重命名 API

备注

要使用 AppMetricaPush,请使用 AppMetricaPush 类中的静态方法。 为了做这一步,请将 AppMetricaPush.Instance 替换为 AppMetricaPush,并导入 Io.AppMetricaPush.

  • 删除了 IYandexAppMetricaPush 接口,并将其方法转移到 AppMetricaPush 类。
    • 将 Initialize 方法重命名为 Activate.