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

Важно!

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

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

Примечание

Поддержка Cordova Apps закончилась в апреле 2022 г. Дополнительные сведения см. в блоге Центра приложений.

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

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

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

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

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

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

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

var success = function() {
    console.log("Event tracked");
}

var error = function(error) {
    console.error(error);
}
AppCenter.Analytics.trackEvent('Video clicked', { Category: 'Music', FileName: 'favorite.avi' }, success, error);

Эта функция использует третий параметр в качестве обратного вызова успеха, который возвращает пустую строку, а четвертый параметр — в качестве обратного вызова ошибки, который возвращает ошибку.

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

var success = function() {
    console.log("Event tracked");
}

var error = function(error) {
    console.error(error);
}

AppCenter.Analytics.trackEvent('Video clicked', success, error);

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

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

var success = function() {
    console.log("Analytics disabled");
}

var error = function(error) {
    console.error(error);
}

AppCenter.Analytics.setEnabled(false, success, error);

Эта функция использует второй параметр в качестве обратного вызова успеха, который возвращает пустую строку, а третий параметр — в качестве обратного вызова ошибки, который возвращает ошибку. Чтобы снова включить Аналитику Центра приложений, используйте тот же API, но передайте true в качестве параметра.

var success = function() {
    console.log("Analytics enabled");
}

var error = function(error) {
    console.error(error);
}

AppCenter.Analytics.setEnabled(true, success, error);

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

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

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

var success = function(result) {
    console.log("analytics " + (result) ? "enabled" : "disabled");
}

var error = function(error) {
    console.error(error);
}

AppCenter.Analytics.isEnabled(success, error);

Эта функция использует первый параметр в качестве обратного вызова успешного выполнения, который возвращает boolean и второй параметр в качестве обратного вызова ошибки, который возвращает ошибку.

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

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

<preference name="APPCENTER_ANALYTICS_ENABLE_IN_JS" value="true" />

Это означает, что для отправки любой информации в Центр приложений (даже основные сведения о сеансе) разработчик должен сначала включить аналитику Центра приложений в приложении, добавив в свой код следующую строку.

var success = function() {
    console.log("analytics disabled");
}

var error = function(error) {
    console.error(error);
}

AppCenter.Analytics.setEnabled(true, success, error);

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

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

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

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

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

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

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

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

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

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

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