Unity 入门

App Center SDK 使用模块化体系结构,因此可以使用任何或所有服务。

让我们开始设置 App Center Unity SDK 以使用 App Center Analytics 和崩溃。 若要将 App Center 分发添加到应用,请参阅 App Center 分发的文档

1.先决条件

在开始之前,请确保已在 Unity 2018.1 或更高版本中设置项目。

适用于 Unity 的 App Center SDK 支持以下平台:

  • iOS (9.0 或更高版本)
  • Android (5.0/API 21 或更高版本)
  • UWP (内部版本 16299 或更高版本)

注意

UWP 平台上不再支持 .NET 3.5 脚本运行时版本和 .NET 脚本后端。

若要了解如何使用协同例程/回调而不是 async/await 后端 .NET 3.5 ,请参阅文档 Unity SDK 中的异步 API 部分。

此外,适用于 Unity 的 App Center SDK 仅在 C# 中可用。

2. 在 App Center 门户中创建应用以获取应用机密

如果已在 App Center 门户中创建了应用,则可以跳过此步骤。

  1. 前往 appcenter.ms
  2. 注册或登录到 App Center。
  3. 单击门户右上角显示“ 新增” 的蓝色按钮,然后从下拉菜单中选择“ 添加新应用 ”。
  4. 输入应用的名称和可选说明。
  5. 如上所述,根据项目选择合适的 OS 和平台。
  6. 单击页面右下角的“ 添加新应用 ”按钮。

创建应用后,可以在 App Center 门户的“设置”页上获取其应用机密。 在 “设置” 页面的右上角,单击 三个垂直点 ,然后选择 Copy app secret 获取应用机密。

3. 将 App Center SDK 添加到项目

3a 安装扩展编辑器

通过将 Unity 包导入项目来集成 App Center SDK。 为此,请先安装 App Center Unity 编辑器扩展 插件。 通过 Unity 菜单打开编辑器扩展:窗口 > App Center > 编辑器扩展,然后选择“安装 App Center SDK”。

注意

在 Unity 2019.1.2f1 及更新版本中,安装期间日志中可能存在错误,例如 Coroutine continue failure。 这是一个已知的 Unity 问题,你应该忽略它。

3.1b 安装单个包

作为替代方法,可以下载和导入每个单独的 Unity 包。 它们在 App Center Unity SDK GitHub 页面上找到。 下载要使用的包 () 的最新版本。 其名称的格式应为 AppCenter{Analytics/Crashes/Distribut}-v{version}.unitypackage

3.2b 导入包

打开 Unity 项目,然后双击下载的包。 Unity 项目中应显示一个弹出窗口,其中包含文件列表。 选择“ 导入”,SDK 将添加到项目中。 对下载并计划在项目中使用的每个包重复此步骤。

4. 启用 SDK

4.1 创建空的游戏对象

App Center 作为一个组件,可附加到游戏启动到的场景中的游戏对象。 导航到此场景并添加空的游戏对象。 为其指定一个描述性名称,例如“App Center”。

4.2 附加 App Center 脚本

“项目 ”窗口中,导航到已添加到项目的“AppCenter”文件夹。 找到名为 AppCenterBehavior 的脚本,并将其拖到 “层次结构” 窗口中新建的游戏对象上。

注意

无需将 App Center 添加到想要使用它的每个场景。 将它添加到第一个加载的场景就足够了。

4.3 配置 App Center 设置

单击此新的“App Center”对象,并将应用机密添加到 “检查器 ”窗口中的相应字段。 确保还选中你打算使用的每个 App Center 服务的“使用 {service}”框

App Center 脚本配置

警告

不建议在源代码中嵌入应用机密。

注意

如果项目不支持设置中列出的三个平台之一,请将应用机密字段保留为原样;它不起作用。 如果项目支持 App Center 不支持的平台,则 API 和配置对这些平台不起作用。


很好,你都可以在 SDK 自动收集的门户中可视化分析和诊断 (崩溃和错误) 数据。

查看 App Center AnalyticsApp Center 崩溃 的文档,了解如何将更高级的功能用于这两种服务。

若要了解如何开始使用应用内更新,请阅读 App Center 分发文档。

5. 备份规则仅 (Android)

注意

面向 Android 6.0 (API 级别 23) 或更高版本的应用会自动启用自动备份。

注意

如果已有包含备份规则的自定义文件,请切换到第三步。

注意

如果还没有自己的 AndroidManifest.xml 文件,请在 Assets/Plugins/Android 文件夹中创建该文件。 此清单将在生成时与 Unity 创建的默认清单合并。

如果使用自动备份来避免获取有关设备的错误信息,请遵循后续步骤:

5.1. 对于 Android 11 (API 级别 30) 或更低。

  1. Assets/Plugins/Android/res/xml 文件夹中创建appcenter_backup_rule.xml文件。
  1. 打开项目的 AndroidManifest.xml 文件。 将 android:fullBackupContent 属性添加到 <application> 元素。 它应指向 appcenter_backup_rule.xml 资源文件。
android:fullBackupContent="@xml/appcenter_backup_rule"
  1. 将以下备份规则添加到 appcenter_backup_rule.xml 文件:
<full-backup-content xmlns:tools="http://schemas.android.com/tools">
      <exclude domain="sharedpref" path="AppCenter.xml"/>
      <exclude domain="database" path="com.microsoft.appcenter.persistence"/>
      <exclude domain="database" path="com.microsoft.appcenter.persistence-journal"/>
      <exclude domain="file" path="error" tools:ignore="FullBackupContent"/>
      <exclude domain="file" path="appcenter" tools:ignore="FullBackupContent"/>
  </full-backup-content>

5.2. 对于 Android 12 (API 级别 31) 或更高版本。

  1. Assets/Plugins/Android/res/xml 文件夹中创建appcenter_backup_rule.xml文件。
  1. 打开项目的 AndroidManifest.xml 文件。 将 android:dataExtractionRules 属性添加到 <application> 元素。 它应指向 appcenter_backup_rule.xml 资源文件。
android:dataExtractionRules="@xml/appcenter_backup_rule"
  1. 将以下备份规则添加到 appcenter_backup_rule.xml 文件:
<data-extraction-rules xmlns:tools="http://schemas.android.com/tools">
    <cloud-backup>
        <exclude domain="sharedpref" path="AppCenter.xml"/>
        <exclude domain="database" path="com.microsoft.appcenter.persistence"/>
        <exclude domain="database" path="com.microsoft.appcenter.persistence-journal"/>
        <exclude domain="file" path="error" tools:ignore="FullBackupContent"/>
        <exclude domain="file" path="appcenter" tools:ignore="FullBackupContent"/>
    </cloud-backup>
    <device-transfer>
        <exclude domain="sharedpref" path="AppCenter.xml"/>
        <exclude domain="database" path="com.microsoft.appcenter.persistence"/>
        <exclude domain="database" path="com.microsoft.appcenter.persistence-journal"/>
        <exclude domain="file" path="error" tools:ignore="FullBackupContent"/>
        <exclude domain="file" path="appcenter" tools:ignore="FullBackupContent"/>
    </device-transfer>
</data-extraction-rules>