Другие API WPF и WinForms

Важно!

Прекращение поддержки Центра приложений Visual Studio запланировано на 31 марта 2025 г. Хотя вы можете продолжать использовать Центр приложений Visual Studio до полного прекращения его использования, существует несколько рекомендуемых вариантов, на которые можно перейти.

Узнайте больше о сроках поддержки и альтернативных вариантах.

Настройка уровня журнала

Вы можете управлять количеством сообщений журнала, отображаемых в Центре приложений в консоли. LogLevel Используйте API для включения дополнительного ведения журнала во время отладки. По умолчанию для среды App Store задано значение ASSERT и WARN в противном случае.

Чтобы иметь как можно больше сообщений журнала, используйте LogLevel.Verbose.

AppCenter.LogLevel = LogLevel.Verbose;

Определение установок

Пакет SDK центра приложений создает UUID для каждого устройства после установки приложения. Этот идентификатор остается неизменным для устройства при обновлении приложения, а новый идентификатор создается только при повторной установке приложения. Приведенный ниже API полезен для отладки.

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

Определение пользователей

Пакет SDK центра приложений поддерживает настройку идентификатора пользователя , который используется для дополнения отчетов о сбоях. Чтобы использовать эту возможность, выполните указанные ниже действия.

  1. Настройте пакет SDK центра приложений, вызвав вызов AppCenter.Start(...) , как описано в руководстве по началу работы с пакетом SDK центра приложений.
  2. userID Задайте в пакете SDK с помощью следующего кода:
AppCenter.SetUserId("your-user-id");

После установки идентификатора пользователя можно использовать функцию поиска в Центре приложений для поиска конкретных отчетов о сбоях для идентификатора. Дополнительные сведения см. в документации по поиску в Центре приложений.

Примечание

Значение идентификатора пользователя ограничено 256 символами. Он будет отображаться вместе с отчетами о сбоях, но не будет использоваться для агрегирования или количества затронутых пользователей. Если вы задали идентификатор пользователя несколько раз, будет использоваться только последний идентификатор пользователя. Необходимо самостоятельно задавать идентификатор пользователя перед каждым запуском приложения, так как это значение не сохраняется пакетом SDK между запусками.

Отключение всех служб во время выполнения

Если вы хотите отключить все службы Центра приложений Enabled одновременно, используйте свойство . Если этот параметр отключен, пакет SDK не будет пересылать какие-либо сведения в Центр приложений.

AppCenter.SetEnabledAsync(false);

Чтобы снова включить все службы, используйте тот же API, но передайте true в качестве параметра.

AppCenter.SetEnabledAsync(true);

Вам не нужно ждать этого вызова, чтобы другие вызовы API (например, IsEnabledAsync) были согласованы.

Состояние сохраняется в хранилище устройства при запусках приложений.

Изменение состояния службы в среде выполнения

Включите или отключите службы в среде выполнения с помощью следующего кода:

Analytics.SetEnabledAsync(false);

Запретить сетевые запросы

В пакете SDK центра приложений сетевые запросы разрешены по умолчанию. Если вы хотите отправить данные, собираемые пакетом SDK центра приложений пользователем, вы можете запретить автоматическую отправку данных.

AppCenter.IsNetworkRequestsAllowed = false;

В этом случае пакет SDK центра приложений продолжает собирать данные, но они будут отправляться только в том случае, если сетевые запросы будут разрешены.

AppCenter.IsNetworkRequestsAllowed = true;

Примечание

Это значение сохраняется между запусками.

В любое время можно проверка, разрешена ли отправка данных в пакете SDK центра приложений.

AppCenter.IsNetworkRequestsAllowed;

Проверьте, включен ли Центр приложений

Вы также можете проверка, включен ли Центр приложений.

bool enabled = await AppCenter.IsEnabledAsync();

Проверка версии пакета SDK для Центра приложений во время выполнения

Вы можете получить версию пакета SDK центра приложений, которую вы используете в настоящее время.

AppCenter.SdkVersion;

Объем памяти

При использовании пакета SDK центра приложений журналы хранятся локально на устройстве. Большие журналы могут занимать много места, поэтому вы можете ограничить размер локальной базы данных.

С помощью SetMaxStorageSizeAsync API можно задать размер локальной базы данных. API является асинхронным, и обратный вызов вызывается при запуске служб Центра приложений. По этой причине 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 МБ. Минимальный размер, который вы можете установить, составляет 20 КБ.

Примечание

Фактический максимальный размер хранилища может быть выше выбранного значения. SQLite округляет размер до следующего кратного размера страницы. Пакет SDK центра приложений использует страницу размером 4 КБ.

Примечание

Журналы старше 25 дней будут удалены.

Other APIs

Пакет NuGet для .NET предоставляется совместно с Xamarin и UWP, которые имеют дополнительные функциональные возможности. Все API, которые не описаны для WPF и WinForms на этой странице, будут возвращать null или false и не будут выполнять никаких действий в WPF и WinForms. Другие API видны, чтобы их можно было использовать в переносимой библиотеке (например, при использовании пакета SDK в приложении Xamarin.Forms, которое содержит проект UWP), но эти дополнительные API не реализованы в WPF и WinForms.