其他 WPF 和 WinForms API

重要

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

调整日志级别

可以控制从控制台中的 App Center 显示的日志消息量。 在调试时使用 LogLevel API 启用额外的日志记录。 默认情况下,对于 App Store 环境,它设置为 ASSERT,否则为 WARN

如需尽可能多的日志消息,请使用 LogLevel.Verbose

AppCenter.LogLevel = LogLevel.Verbose;

识别安装

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

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

标识用户

App Center SDK 支持设置用户 ID,用于增强崩溃报告。 若要使用此功能,

  1. 按照 AppCenter.Start(...)中所述调用来配置 App Center SDK。
  2. 在 SDK 中使用以下代码设置 userID
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(false);

禁止网络请求

在 App Center SDK 中,默认允许网络请求。 如果要发送 App Center SDK 由用户关注收集的数据,可以禁止自动发送数据。

AppCenter.IsNetworkRequestsAllowed = false;

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

AppCenter.IsNetworkRequestsAllowed = true;

注释

此值在每次启动之间会保留。

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

AppCenter.IsNetworkRequestsAllowed;

检查是否已启用 App Center

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

bool enabled = await AppCenter.IsEnabledAsync();

在运行时检查应用中心 SDK 版本

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

AppCenter.SdkVersion;

存储大小

使用 App Center SDK 时,日志存储在设备本地。 大型日志可能会占用大量空间,因此可以选择限制本地数据库的大小。

可以使用 SetMaxStorageSizeAsync API 设置本地数据库的大小。 API 是异步的,启动 App Center 服务时会调用回调。 因此,必须在调用 SetMaxStorageSizeAsync 之前调用 AppCenter.Start(...)。 只能调用 API 一次。

// Use 20 MB for storage.
AppCenter.SetMaxStorageSizeAsync(20 * 1024 * 1024).ContinueWith((storageTask) => {
    // The storageTask.Result is false when the size cannot be honored.
});
AppCenter.Start("{Your App Secret}", typeof(Analytics));

如果未设置最大存储大小,SDK 将使用默认的最大大小 10 MB。 允许设置的最小大小为 20 KB。

注释

实际最大存储大小可能高于所选值。 SQLite 将大小向上舍入到页面大小的下一个整数倍。 App Center SDK 使用的页面大小为 4 KB。

注释

超过 25 天的日志将被丢弃。

其他 API

.NET NuGet 包与具有更多功能的 Xamarin 和 UWP 共享。 本页中未记录的 WPF 和 WinForms 的所有 API 都将在 WPF 和 WinForms 上返回 nullfalse,并且不会执行任何操作。 其他 API 可见,以便在可移植库中使用它们(例如,在包含 UWP 项目的 Xamarin.Forms 应用程序中使用 SDK 时),但这些额外的 API 未在 WPF 和 WinForms 上实现。