Обзор

Как разработчик вы создаете приложение для миллионов пользователей Microsoft Teams для достижения конкретных бизнес-целей или целей клиентов. Для этого вы распространяете его с помощью одного или нескольких доступных вариантов распространения. После публикации приложения вы захотите оценить, как работает приложение в реальном мире.

Вы также будете заинтересованы в мониторинге многих точек данных, таких как:

  • Кто заинтересован в вашем приложении?
  • Какие пользователи и организации используют ваше приложение?
  • Как пользователи взаимодействуют с вашим приложением?
  • Какие пользователи в течение некоторого времени использовали ваше приложение?

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

Но отчета об использовании приложений Teams должно быть достаточно, не так ли?

Как разработчик приложения, вы можете отслеживать использование приложения в отчете об использовании приложений Teams в Центре партнеров в течение недели после публикации приложения в Microsoft Teams Store. Разработчики пользовательских приложений могут найти аналитику использования для своих пользовательских приложений на портале разработчика для Teams. Отчет об использовании Центра партнеров содержит стандартные метрики, которые позволяют отслеживать спрос пользователей, отток пользователей и частоту использования приложения. Эти отчеты доступны на агрегированном уровне, например:

  • Ежемесячные, ежедневные и еженедельные активные пользователи.
  • Диаграммы удержания и интенсивности.
  • Пользователи, которые использовали приложение более пяти дней в прошлом месяце.
  • Платформа, операционная система и географическое разделение пользователей для вашего приложения и т. д.

Встроенные отчеты об использовании, доступные в Центре партнеров или на портале разработчика для Teams, не могут предоставить подробные аналитические сведения о том, что происходит в вашем приложении, и конкретные аналитики на уровне пользователей. Такая аналитика включает в себя взаимодействие пользователя в приложении или взаимодействие пользователя с конкретными функциями и измерение завершения сценария.

Ваше приложение в Teams по сути является веб-службой, размещенной в другом месте, например в облаке Azure. Он внедрен и отображается в оболочке Microsoft Teams, где пользователи могут использовать ваше приложение. Это относится к приложению независимо от используемых возможностей платформы , таких как вкладки, боты, расширения сообщений, расширения собраний, карточки, диалоговые окна (в TeamsJS версии 1.x — модули задач) и т. д. Все эти возможности являются средством для отображения веб-интерфейса в Teams.

Планируйте аналитику для приложения Teams так же, как и для продукта SaaS, работающего в веб-браузере.

Раннее планирование аналитики

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

В то время, как ваше рабочее приложение Teams работает в Магазине Teams, и клиенты начинают использовать его, ваша инфраструктура аналитики и данных должна быть полностью работоспособной. Это гарантирует, что вы не пропустите отслеживание:

  • Маркеры инструментирования активируется.
  • События, относящиеся к Teams, и соответствующая контекстная информация, содержащаяся в этих событиях, некоторые из которых активируются для записи в серверной части SaaS для последующего использования.

Например, Microsoft Entra идентификатор пользователя Teams должен быть записан при запуске определенного события бота, когда пользователь устанавливает приложение бота. Этот идентификатор пользователя можно сопоставить с реальным удостоверением профиля пользователя, например с адресом электронной почты. Это позволяет отправлять упреждающие уведомления пользователю позже с помощью бота.

Инструментирование приложения для аналитики

Инструментирование кода с помощью маркеров аналитики (также известных как маркеры инструментирования) — это стандартная практика разработки веб-приложений. Надежное инструментирование в коде имеет решающее значение для долгосрочного успеха. Она помогает измерять как статистические, так и пользовательские метрики.

Примечание.

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

Приложение Teams — это еще одна область для предоставления решения конечному пользователю, другое окно для вашего ландшафта SaaS. Так как ваше решение масштабируется на нескольких платформах (веб-, мобильных платформах и Teams), важно просматривать инструментирование на уровнях:

Телеметрия в слоях

Существует два типа инструментирования данных, относящихся к вашему решению:

Примечание.

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

Инструментирование данных для основного продукта или приложения SaaS

Это инструментирование, которое вы будете делать для вашего браузерного приложения SaaS независимо от того, интегрируется ли вы с Teams или нет. Если у вас есть браузерное приложение SaaS, по всей вероятности, это инструментирование уже будет выполнено в коде. Вот как можно просмотреть аналитику щелчков и аналитику жизненного цикла клиента. Вы также можете просмотреть метрики аналитики конверсии, такие как частота отказов, просмотры страниц, количество уникальных посетителей, количество сеансов, время вовлеченности, частота переходов и многое другое для веб-приложения.

Инструментирование данных в приложении для Teams

Это инструментирование необходимо дополнительно выполнить в приложении SaaS, так как оно теперь находится внутри клиента Teams. На уровне презентации конечный пользователь обращается к приложению через различные модалы. Каждая модальность имеет свои уникальные точки взаимодействия с пользователем, метаданные, которые упрощают инструментирование захвата уникальных для этой модальности. Например, просмотр продукта можно отслеживать с помощью просмотра страницы в веб-приложении и отслеживания экрана в мобильном приложении. Аналогичным образом приложение Teams могло использовать одну или несколько возможностей платформы, доступных только в Teams, таких как боты, расширения сообщений и т. д. или у вас есть опыт для решения уникальных для Teams вариантов использования, таких как расширения собраний, интеллектуальные сценарии с поддержкой M365 с использованием Microsoft Graph, распаковка ссылок и т. д. Запись инструментирования из этих уникальных возможностей приложений Teams более подробно рассматривается в оставшейся части этого документа.

Инструментирование аналитики для приложений Teams

В этом разделе содержатся рекомендации и указатели относительно того, что следует искать, какие события следует записывать, как использовать маркеры инструментирования и где получить важную информацию Teams, которая поможет вам спланировать и реализовать аналитику для вашего приложения. Приложения Teams могут быть вкладками, ботами, расширениями сообщений, карточками, представлениями этапов и т. д. Или любым сочетанием этих возможностей и конструкций пользовательского интерфейса в личных или общих областях. Лучше всего понимать, планировать и реализовывать инструментирование для каждой из этих возможностей.

Функции платформы Teams можно классифицировать в двух общих чертах:

Конструкции размещенного веб-холста

Визуальные возможности, ориентированные на холст, — это веб-страницы с поддержкой Teams, встроенные в Microsoft Teams, такие как вкладки, личные приложения, диалоги (с внедренным iframe), представления этапов, вкладки собраний, общие этапы собрания и диалоговые окна в собрании. Они размещаются в облаке вместе с остальной частью приложения SaaS, которое выполняется в веб-браузере.

На этих веб-страницах часто используется инструментирование для основных потребностей веб-приложения SaaS. Вам просто нужно записать события, относящиеся к Teams, и обработать их для инструментирования Teams в коде. Это удобно для ваших потребностей в аналитике, что вкладки являются веб-страницами с поддержкой Teams.

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

  • Идентификатор клиента Microsoft 365 (Microsoft Entra клиента) для текущего пользователя (tid). В Microsoft 365 или Microsoft Entra ID клиент является представителем организации, то есть компании пользователя. Идентификатор клиента Microsoft 365 полезен, чтобы узнать и записать в журнал, к какому клиенту Microsoft 365 принадлежит пользователь. Узнав идентификатор клиента, вы можете узнать домен клиента для организации, который часто отображает название организации, используя этот API Graph. Обязательно вызовите этот API в клиенте разработчика Microsoft 365, так как вы сможете предоставить согласие на необходимые разрешения администратора клиента.
  • Тип лицензии, назначенный пользователю, и номер SKU для клиента текущего пользователя. Возможные значения: корпоративные планы F1, E1, E3 и E5 для (licenseType) и enterprise, free, edu и unknown для (tenantSKU).
  • Контекст, в который загружается URL-адрес вкладки. Некоторые возможные значения: страница содержимого, диалоговое окно, диалоговое окно параметров вкладки, диалоговое окно удаления вкладки, сторона собранияPanel и т. д. (frameContext).
  • Тип клиента узла, где загружается вкладка. Возможные значения: Android, IoS, Web, desktop, surfaceHub и т. д. (hostClientType). Вы можете срезать аналитические данные.
  • Знание языкового стандарта для пользователя, чтобы указать язык, например en-us, fr-fr, ja-jp и т. д. (locale).
  • Имя участника-пользователя или указание для входа (loginHint) текущего пользователя в текущем клиенте (обычно это адрес электронной почты пользователя).
  • Имя команды и имя канала, куда добавляется вкладка канала (teamName, channelName).
  • Уникальный идентификатор текущего сеанса приложения на вкладке, используемой для корреляции данных инструментирования (appSessionId).
  • Идентификатор собрания используется вкладкой, запущенной в контексте собрания, и добавляется для полезных данных ответа (meetingId).
  • Microsoft Entra ID текущего пользователя.

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

Отслеживание сведений, относящихся к Teams Результат
Организация пользователя. Отслеживайте спрос на приложение, особенно если вы предлагаете пробный период для новых подписок или бесплатного предложения для продукта SaaS для охвата продаж, подключения организации проверка для получения помощи.
Тип организации и роль пользователя. Используйте тип лицензии и номер SKU клиента, чтобы создать профиль клиента для пользователя Teams. Срез аналитических данных, таких как использование, сеансы, хранение и т. д. соответственно, и адаптировать свои функции, возможности и т. д. Соответствующим образом.
Вывод типа клиента узла, языкового стандарта и контекста использования из имен команд или каналов. Обогащение профиля клиента в аналитике пользователей.
Контекст кадра. Получите сведения о контексте, в котором пользователь использует ваше приложение, пути его пути и шаблоне использования из различных областей, возможностей и областей. Создавайте интерфейсы пользователей соответствующим образом и инвестируйте больше в возможности, популярные среди пользователей.
Адрес электронной почты пользователя. Свяжите значимое реальное удостоверение с пользователем Teams и укажите адрес домена организации клиента Microsoft 365, то есть contoso.onmicrosoft.com. Определите организацию, к которой принадлежит пользователь. Адрес электронной почты пользователя можно использовать для заполнения профиля пользователя и общения с ним для активации, повторного маркетинга и повторного взаимодействия. Однако будьте осторожны, чтобы не использовать этот канал или не спам пользователя.
Microsoft Entra идентификатор пользователя или объекта. Получите и сохраните уникальный Microsoft Entra идентификатор пользователя или объекта во время установки приложения (бота). Отправьте пользователю любое упреждающее уведомление с помощью бота.

Диалоговые конструкции

К возможностям, ориентированным на беседы или чат, относятся боты, расширения сообщений, карточки и диалоги (с адаптивной карточкой), созданные для пользователей Teams. Концептуально эти возможности создаются для пользователей и доступны только пользователям в Teams. Вам потребуется записать события, относящиеся к Teams, и обработать их для инструментирования teams в коде для этих конструкций с нуля. Бот может получить доступ к дополнительным данным контекста о команде, чате, собрании, звонке 1:1 или групповом вызове, где он установлен.

Используйте эти сведения для расширения функциональности бота и взаимодействия с пользователем:

  • Запросите у бота список участников и их основные профили пользователей, включая идентификаторы пользователей Teams и Microsoft Entra сведения, такие как имя и Microsoft Entra пользователя или идентификатор объекта.

  • Используйте Microsoft Entra пользователя или идентификатор объекта, чтобы найти имя, фамилию, адрес электронной почты, идентификатор клиента и роль пользователя в команде. Используйте эти сведения, как описано для размещенных конструкций веб-холста.

  • Если бот установлен в команде, запросите метаданные об этой команде, включая идентификатор группы Microsoft Entra и имя команды. Он также может запрашивать список каналов в команде, который возвращает идентификаторы и имена каналов. Используйте эти сведения для настройки, настройки и персонализации.

  • С помощью API сведений о собрании получите статические метаданные собрания или вызова, такие как тип собрания (например, , MeetNowAdhocRecurringBroadcastOneToOneCall, GroupCall, Scheduled, или Unknown), тип беседы, идентификатор клиента организатора и т. д.

Каждое действие, отправленное Teams боту, turnContext будет содержать объект, из которого можно извлечь все соответствующие поля. Их можно использовать так же, как описано для размещенных конструкций веб-холста.

Так как расширения сообщений основаны на канале бота, большая часть выше относится и к расширениям сообщений.

Статистические и пользовательские аналитические сведения

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

  • Статистические метрики

    • Какие возможности платформы, области поверхности (например, вкладки, боты, расширения сообщений) и конструкции пользовательского интерфейса (карточки, диалоги, представления этапов), которые используются в приложении Teams, нашли наибольшее использование пользователями?
    • Какая область или точка входа в пользовательский интерфейс (например, личное приложение, канал, групповой чат) чаще всего используется пользователями для вызова приложения и запуска нового сеанса приложения в Teams?
    • Сколько дней в среднем пользователи используют ваше приложение в первую неделю после установки приложения?
    • Что такое анализ новой когорты хранения пользователей по неделям или месяцам для вашего приложения или конкретных возможностей (например, личного приложения или бота) в вашем приложении?
    • Сколько пользователей используют ваше приложение только в мобильных клиентах Teams?
    • Сколько пользователей использовали возможность устройства камеры в приложении?
    • Что показывает анализ воронки для приложения на разных этапах, от установки приложения до активации, привлечения к хранению и, наконец, монетизации? Где происходит высадка?
    • Сколько пользователей установили приложение за последнюю неделю?
    • Сколько пользователей было загружено из вашего приложения за последние три месяца? Какова результирующая квартальная скорость оттока?
    • Какая организация видела максимальное количество установок для вашего приложения за последние 30 дней?
    • К каким организациям относятся пользователи, устанавливающие ваше приложение за последние 14 дней?
    • Какая организация видела максимальное количество пробных подписок для вашего приложения за последние семь дней?
    • В каких типах собраний (GroupCall, OneToOneCall, Adhoc, Broadcast, RecurringMeetNowили Scheduled) используется ваше приложение?
  • Метрики для конкретных пользователей

    • Каким пользователям еще предстоит использовать возможности вкладок канала, которые вы реализовали в приложении в последнем обновлении приложения?
    • Какие пользователи не завершили подключение в личном приложении?
    • Среди пользователей, которые установили приложение за последнюю неделю, какие пользователи не вернулись к приложению ни разу для участия после установки?
    • Какие пользователи установили приложение, но еще не вошли в него?
    • Сколько раз конкретный пользователь использовал приложение Teams за последние 30 дней?
    • Сколько дней конкретный пользователь активно использовал ваше приложение за последние семь дней?
    • Когда конкретный пользователь в последний раз использовал ваше приложение в Teams?
    • Что такое путь конкретного пользователя приложения в Teams?
    • Какие пользователи вырвались из вашего приложения за последние три месяца?
    • Использовал ли конкретный пользователь ваше приложение на собрании Teams?

Затем ознакомьтесь с методикой разработки стратегии инструментирования данных и определите, что следует измерять на основе конкретных аналитических сведений, которые вы хотите извлечь из использования приложения Teams.

Следующее действие