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

Важно!

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

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

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

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

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

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

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

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

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

// import App Center Analytics at the top of the file.
import Analytics from 'appcenter-analytics';

Analytics.trackEvent('Video clicked', { Category: 'Music', FileName: 'favorite.avi' });

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

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

Analytics.trackEvent('Video clicked');

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

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

await Analytics.setEnabled(false);

Эта функция возвращает обещание, разрешающееся в void.

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

await Analytics.setEnabled(true);

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

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

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

const enabled = await Analytics.isEnabled();

Эта функция возвращает обещание, которое разрешается в boolean.

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

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

  1. Откройте файл проекта и замените ios/YourAppName/AppDelegate.m[AppCenterReactNativeAnalytics registerWithInitiallyEnabled:true];[AppCenterReactNativeAnalytics registerWithInitiallyEnabled:false];на .
  2. Откройте файл проекта и замените android/app/src/main/res/values/strings.xml<string name="appCenterAnalytics_whenToEnableAnalytics" moduleConfig="true" translatable="false">ALWAYS_SEND</string><string name="appCenterAnalytics_whenToEnableAnalytics" moduleConfig="true" translatable="false">ENABLE_IN_JS</string>на .

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

await Analytics.setEnabled(true);

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

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

Примечание

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

Примечание

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

Чтобы настроить пакет SDK для отслеживания сеансов вручную, необходимо использовать собственные API Аналитики enableManualSessionTracker :

  • В iOS вызовите [MSACAnalytics enableManualSessionTracker]; метод до [AppCenterReactNative register]; в методе делегата didFinishLaunchingWithOptions приложения в AppDelegate.m. Добавьте @import AppCenterAnalytics , если он отсутствует в этом файле.

  • В Android вызовите Analytics.enableManualSessionTracker(); метод before SoLoader.init in в MainApplication.javaonCreate . Добавьте импорт com.microsoft.appcenter.analytics.Analytics , если он отсутствует в этом файле.

Затем можно использовать startSession API в проекте React Native:

Analytics.startSession();

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

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

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

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

Журналы событий пакетной обработки

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

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

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

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

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

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