Аналитика Центра приложений (MAUI и Xamarin)

Важно!

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

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

Аналитика Центра приложений помогает понять поведение пользователей и взаимодействие с клиентами для улучшения приложения. Пакет SDK автоматически записывает количество сеансов и свойства устройств, такие как модель, версия ОС и т. д. Вы можете определить собственные пользовательские события для измерения важных для вас вещей. Вся записанная информация доступна на портале Центра приложений для анализа данных.

Если вы еще не настроили пакет SDK в приложении, следуйте указаниям в разделе Начало работы .

Сведения о сеансе и устройстве

После добавления аналитики Центра приложений в приложение и запуска пакета SDK он автоматически отслеживает сеансы и свойства устройства, такие как версия ОС, модель и т. д., без написания дополнительного кода.

код страны;

Пакет SDK автоматически сообщает код страны пользователя, если на устройстве установлен мобильный модем данных и SIM-карта. Устройства только с Wi-Fi не сообщают код страны по умолчанию. Чтобы задать код страны для этих пользователей, необходимо самостоятельно получить расположение пользователя и использовать SetCountryCode: метод в пакете SDK:

AppCenter.SetCountryCode("en");

Примечание

Чтобы код страны отображался в сеансах аналитики, AppCenter.SetCountryCode необходимо вызвать перед вызовом AppCenter.Start.

Настраиваемые события

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

После запуска пакета SDK используйте TrackEvent() метод для отслеживания событий с помощью свойств. Можно отправить до 200 уникальных имен событий. Кроме того, существует ограничение в 256 символов на имя события и 125 символов на имя свойства события и значение свойства события.

Analytics.TrackEvent("Video clicked", new Dictionary<string, string> {
	{ "Category", "Music" },
	{ "FileName", "favorite.avi"}
});

Свойства для событий являются полностью необязательными. Если вы просто хотите отслеживать событие, используйте следующий пример:

Analytics.TrackEvent("Video clicked");

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

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

Analytics.SetEnabledAsync(false);

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

Analytics.SetEnabledAsync(true);

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

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

Примечание

Этот метод следует использовать только после Analytics запуска.

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

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

bool isEnabled = await Analytics.IsEnabledAsync();

Примечание

Этот метод следует использовать только после Analytics запуска. Он всегда возвращается false перед запуском.

Управление сеансом запуска

По умолчанию идентификатор сеанса зависит от жизненного цикла приложения. Если вы хотите управлять началом нового сеанса вручную, выполните следующие действия:

Примечание

Обратите внимание, что каждый вызов API Analytics.StartSession() создает новый сеанс. Если в режиме отслеживания сеансов вручную этот API не будет вызываться, то все журналы отправки будут иметь значение null сеанса.

Примечание

Обратите внимание, что после запуска нового приложения идентификатор сеанса будет повторно создан.

  • Вызовите следующий метод перед запуском пакета SDK:
Analytics.EnableManualSessionTracker();
  • Затем можно использовать StartSession API после AppCenter.Start:
Analytics.StartSession();

Размер локального хранилища

По умолчанию пакет SDK хранит до 10 МБ журналов в хранилище.

Нет доступа к Интернету

Если сетевое подключение отсутствует, пакет SDK сохраняет до 10 МБ журналов в локальном хранилище. После заполнения хранилища пакет SDK начнет удалять старые журналы, чтобы освободить место для новых журналов. После того как устройство получит доступ к Интернету, пакет SDK будет отправлять журналы в пакете 50 или через каждые 6 секунд.

Пакетная обработка журналов событий

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

Логика повторов и откатов

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

  • Не более 3 попыток на запрос.
  • Каждый запрос имеет собственный конечный автомат повтора.
  • Все каналы передачи отключаются (до следующего процесса приложения) после того, как один запрос исчерпает все свои повторные попытки.

Логика отката

  • 50 % случайных значений, первая повторная попытка в диапазоне от 5 до 10 секунд, вторая повторная попытка между 2,5 и 5 минутами, последняя попытка между 10 и 20 минутами.
  • Если сеть переключается с выключения на включено (или с Wi-Fi на мобильное устройство), состояния повторных попыток сбрасываются, и запросы немедленно повторяются.