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 门户中创建了应用,则可以跳过此步骤。
- 前往 appcenter.ms。
- 注册或登录到 App Center。
- 单击门户右上角显示“ 新增” 的蓝色按钮,然后从下拉菜单中选择“ 添加新应用 ”。
- 输入应用的名称和可选说明。
- 如上所述,根据项目选择合适的 OS 和平台。
- 单击页面右下角的“ 添加新应用 ”按钮。
创建应用后,可以在 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 不支持的平台,则 API 和配置对这些平台不起作用。
很好,你都可以在 SDK 自动收集的门户中可视化分析和诊断 (崩溃和错误) 数据。
查看 App Center Analytics 和 App Center 崩溃 的文档,了解如何将更高级的功能用于这两种服务。
若要了解如何开始使用应用内更新,请阅读 App Center 分发文档。
5. 备份规则仅 (Android)
注意
面向 Android 6.0 (API 级别 23) 或更高版本的应用会自动启用自动备份。
注意
如果已有包含备份规则的自定义文件,请切换到第三步。
注意
如果还没有自己的 AndroidManifest.xml 文件,请在 Assets/Plugins/Android 文件夹中创建该文件。 此清单将在生成时与 Unity 创建的默认清单合并。
如果使用自动备份来避免获取有关设备的错误信息,请遵循后续步骤:
5.1. 对于 Android 11 (API 级别 30) 或更低。
- 在 Assets/Plugins/Android/res/xml 文件夹中创建appcenter_backup_rule.xml文件。
- 打开项目的 AndroidManifest.xml 文件。 将
android:fullBackupContent
属性添加到<application>
元素。 它应指向 appcenter_backup_rule.xml 资源文件。
android:fullBackupContent="@xml/appcenter_backup_rule"
- 将以下备份规则添加到 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) 或更高版本。
- 在 Assets/Plugins/Android/res/xml 文件夹中创建appcenter_backup_rule.xml文件。
- 打开项目的 AndroidManifest.xml 文件。 将
android:dataExtractionRules
属性添加到<application>
元素。 它应指向 appcenter_backup_rule.xml 资源文件。
android:dataExtractionRules="@xml/appcenter_backup_rule"
- 将以下备份规则添加到 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>