Unity 入门

重要

Visual Studio App Center 于 2025 年 3 月 31 日停用,但分析和诊断功能除外,这些功能将继续受支持,直到 2026 年 6 月 30 日。 了解详细信息

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

让我们开始设置 App Center Unity SDK,以使用 App Center Analytics 和 Crash 功能。 若要将 App Center Distribute 添加到应用,请参阅 App Center Distribute 的文档

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。

此外,App Center SDK for Unity 仅在 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 安装扩展编辑器

App Center SDK 通过将 Unity 包导入项目来集成。 为此,请先安装 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/Distribute}-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”对象,并将应用机密添加到 检查器 窗口中的相应字段。 请务必勾选每个你想使用的应用中心服务的“使用 {service}”框。

App Center 脚本配置

警告

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

注释

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


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

查看 App Center AnalyticsApp Center 崩溃 的文档,了解如何在两个服务中使用更高级的功能。

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

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>