其他 WPF 和 WinForms API
重要
Visual Studio App Center 计划于 2025 年 3 月 31 日停用。 虽然可以继续使用 Visual Studio App Center,直到它完全停用,但你可以考虑迁移到几个建议的替代方法。
调整日志级别
可以控制控制台中从 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 。 若要使用此功能,请:
- 按照 App Center SDK 入门指南中所述,通过调用
AppCenter.Start(...)
来配置 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(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();
在运行时检查 App Center SDK 版本
可以获取当前使用的 App Center SDK 版本。
AppCenter.SdkVersion;
存储大小
使用 App Center SDK 时,日志将本地存储在设备上。 大型日志可能会占用大量空间,因此可以选择限制本地数据库的大小。
可以使用 API SetMaxStorageSizeAsync
设置本地数据库的大小。 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 都将返回 null
或 false
,并且不会对 WPF 和 WinForms 执行任何操作。
其他 API 是可见的,因此你可以在可移植库 (使用它们,例如在包含 UWP 项目的 Xamarin.Forms 应用程序中使用 SDK) ,但这些额外的 API 不会在 WPF 和 WinForms 上实现。