其他 Unity Api

调整日志级别

你可以从控制台中的 App Center 控制显示的日志消息数。 在 LogLevel 调试时使用-API 启用其他日志记录。 默认情况下,它设置为 ASSERT 适用于应用商店环境的,否则设置为 WARN

若要尽可能多地提供日志消息,请 LogLevel.Verbose 在 App Center 设置或代码中启用。

AppCenter.LogLevel = LogLevel.Verbose;

确定安装

安装应用后,App Center SDK 将为每个设备创建一个 UUID。 当更新应用时,此标识符在设备上保持不变。 仅在重新安装应用程序时才会生成新的标识符。 以下 API 用于调试目的。

System.Guid? installId = await AppCenter.GetInstallIdAsync();

标识用户

App Center SDK 支持设置用于补充崩溃报告的 用户 ID 。 若要使用此功能:

  1. APP CENTER SDK 入门指南中所述配置 App Center sdk。
  2. userID使用以下代码在 SDK 中设置:
AppCenter.SetUserId("your-user-id");

设置用户 ID 后,可以使用App Center搜索功能来搜索 ID 的特定故障报告。 有关详细信息,App Center搜索文档 。

备注

用户 ID 的值限制为 256 个字符。 它将与故障报告一起显示,但不用于聚合或统计受影响的用户。 如果多次设置用户 ID,则只会使用最后一个用户 ID。 你需要在每个应用程序启动之前自己设置用户 ID,因为 SDK 不会在两次启动之间存储此值。

在运行时禁用所有服务

如果要一次禁用所有 App Center 服务,请使用 Enabled 属性。 禁用后,SDK 不会将任何信息转发到 App Center。

AppCenter.SetEnabledAsync(false);

若要再次启用所有服务,请使用相同的 API,但将 true 作为参数传递。

AppCenter.SetEnabledAsync(true);

不需要等待此调用来进行其他 API 调用 (如 IsEnabledAsync) 一致。

在应用程序启动期间,状态将保留在设备的存储中。

在运行时中更改服务状态

可以使用以下代码在运行时启用或禁用服务:

Analytics.SetEnabledAsync(true);

禁止网络请求

在 App Center SDK 中,默认情况下允许网络请求。 如果要发送 App Center SDK 收集的数据,你可以禁止自动发送数据。

AppCenter.IsNetworkRequestsAllowed = false;

在这种情况下,App Center SDK 将继续收集数据,但仅当允许网络请求时才发送数据。

AppCenter.IsNetworkRequestsAllowed = true;

备注

此值在 "开始" 之间保留。

随时都可以检查是否允许在 App Center SDK 中发送数据。

AppCenter.IsNetworkRequestsAllowed;

备注

以前在中保存的值 SharedPreferences 将被忽略,直到 AppCenter 在 Android 平台上启动。 AppCenter.IsNetworkRequestsAllowed = allowed true 如果在 AppCenter 开始之前未更改值,则它将返回使用或的最后一个值集。

检查是否已启用 App Center

还可以检查是否已启用 App Center。

bool enabled = await AppCenter.IsEnabledAsync();

在运行时检查 App Center SDK 版本

您可以获取当前正在使用的 App Center SDK 的版本。

AppCenter.SdkVersion;

延迟 App Center 的开始时间

在某些情况下,你可能想要在 AppCenterBehavior 开始之前延迟 App Center 的开始时间。 例如,如果想要在启动任何 App Center 服务之前请求用户同意。
为此,请将 AppCenterBehaviorAdvanced 添加到游戏对象,并选中 " 从 iOS/Android 应用启动本机 SDK " 复选框。 这会在 AppCenterBehavior 的方法中启动 SDK Start ,并允许你添加自定义对话框或其他逻辑。

提示

如果在生成时生成设置,另一种方法是将 播放机设置 > 其他设置 > 脚本定义符号 并粘贴 APPCENTER_DONT_USE_NATIVE_STARTER

Unity SDK 中的异步 Api

异步 API 返回 对象,而不是直接返回结果,并立即返回 AppCenterTask ,而不是等待操作完成。

有三种方法可以与这些方法进行交互。

方法 1:ContinueWith

若要在 的活动完成后执行一个 AppCenterTask 操作,请添加使用 方法的 ContinueWith 回调。

示例:

AppCenter.IsEnabledAsync().ContinueWith(task =>
{
    // Do something with task.Result
});

在方法具有实际返回值的情况下,它将返回 (AppCenterTask<{Return Type}> 如上例所示) 。 在这些情况下,回调中的任务参数将具有 Result 可以访问的属性。

方法 2:内置语言功能

如果要编写有权访问 .NET 4.6 或更上面的代码,可以在 AppCenterTask await 异步上下文中进行编写。

示例:

bool isEnabled = await AppCenter.IsEnabledAsync();

方法 3:协同例程

AppCenterTasks 也适用于协同例程。

示例:

void SomeMethod()
{
    StartCoroutine(IsEnabledCoroutine());
}

IEnumerator IsEnabledCoroutine()
{
    var isEnabled = AppCenter.IsEnabledAsync();
    yield return isEnabled;

    // do something with the isEnabled
}