其他 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 。 若要使用此功能:
- 如 APP CENTER SDK 入门指南中所述配置 App Center sdk。
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
}