概述

作为开发人员,你可以为数百万 Microsoft Teams 用户构建一个应用,以实现特定的业务或客户目标。 为此,请使用一个或多个可用的分发选项进行分发。 发布应用后,你需要衡量应用在现实世界中的表现。

你还将对监视许多数据点感兴趣,例如:

  • 谁对你的应用感兴趣?
  • 哪些用户和组织正在使用你的应用?
  • 用户如何与你的应用互动?
  • 哪些用户在使用你的应用一段时间后流失了?

此信息可帮助你根据业务目标分析数据,通过解决问题采取纠正措施。 它还有助于干预用户旅程,或就应用的功能投资、增强功能和采用做出明智的决策。

但是 Teams 应用使用情况报告必须足够,不是吗?

作为应用的开发人员,你可以在 Microsoft Teams 应用商店上发布应用后一周内在合作伙伴中心的 Teams 应用使用情况报告中 跟踪应用的使用情况。 自定义应用开发人员可以在 Teams 开发人员门户中查找 其自定义应用的使用情况分析 。 合作伙伴中心的使用情况报告提供标准指标,使你能够跟踪应用的用户需求、用户流失和使用频率。 这些报告在聚合级别可用,例如:

  • 每月、每日和每周活跃用户。
  • 保留期和强度图表。
  • 上个月使用你的应用超过五天的用户。
  • 应用的用户的平台、操作系统和地理拆分,等等。

合作伙伴中心或 Teams 开发人员门户中提供的现装使用情况报告无法为你提供对应用内部情况和特定用户级分析的深入分析。 此类分析包括用户在你的应用中的旅程或用户对特定功能的参与度和测量方案完成情况。

Teams 上的应用实质上是基于 Web 的服务,托管在其他位置,例如 Azure 云。 它嵌入并显示在 Microsoft Teams shell 中,用户可以在其中使用你的应用。 这适用于你的应用,而不考虑使用 的平台功能 ,例如选项卡、机器人、消息扩展、会议扩展、卡片、对话 (TeamsJS v1.x) 中称为任务模块等。 所有这些功能都是在 Teams 中呈现基于 Web 的体验的一种手段。

规划 Teams 应用分析的方式与在 Web 浏览器上运行的 SaaS 产品相同。

提前规划分析

在开发设计和解决方案体系结构阶段为 Teams 应用规划分析。 检查核心 SaaS Web 应用的现有数据检测和实践将累加到托管画布构造(如 Teams 中的选项卡、对话、会议应用等),这些内容正在 Teams 中从头开始进行优化或构建。 对于特定于 Teams 的功能(如 聊天构造 (如机器人、消息扩展等),需要从头开始规划和实现分析检测、从 SDK 方法捕获相关事件和上下文。

当时,你的生产 Teams 应用在 Teams 应用商店上实时运行,客户开始使用它,你的分析和数据基础结构应完全正常运行。 它可确保不会错过跟踪:

  • 触发的检测标记。
  • 特定于 Teams 的事件以及这些事件中包含的相关上下文信息,其中一些事件会触发,以便在 SaaS 后端中捕获以供以后使用。

例如,当用户安装机器人应用时触发特定机器人事件时,应捕获 Teams 用户的Microsoft Entra用户 ID。 此用户 ID 可以映射到用户的实际配置文件标识,例如电子邮件地址。 它允许稍后通过机器人向用户发送主动通知。

检测应用进行分析

使用分析标记 (也称为检测标记) 检测代码是一种标准的 Web 应用程序开发做法。 代码中的可靠检测对于长期成功至关重要。 它可帮助你测量聚合指标和特定于用户的指标。

注意

在开始之前,请始终记住按照严格的数据处理和隐私策略以及遵守监管义务来处理用户数据。

Teams 应用是向最终用户公开解决方案的另一个界面,是 SaaS 布局的另一个窗口。 当解决方案跨多个平台( (Web、移动平台和 Teams) )进行缩放时,请务必在层中查看检测:

层中的遥测

有两种类型的数据检测与解决方案相关:

注意

本文档的其余部分仅推荐可以使用的上下文数据,但不会取代监管义务。

核心 SaaS 产品或应用的数据检测

这是你将为基于浏览器的 SaaS 应用执行检测,无论你是否与 Teams 集成。 如果你有基于浏览器的 SaaS 应用,则很可能已在代码中完成此检测。 这是查看点击分析和客户生命周期分析的方式。 还可以查看转换分析指标,例如 Web 应用的跳出率、页面浏览量、唯一访问者计数、会话计数、参与时间、点击率等。

特定于 Teams 的应用中的数据检测

此检测还需要在 SaaS 应用中完成,因为它现在出现在 Teams 客户端中。 在演示级别,最终用户可通过不同的形式访问应用程序。 每个模式都有其自己唯一的用户交互点,元数据有助于检测捕获该模式的唯一。 例如,可以通过 Web 应用中的页面视图和移动应用中的屏幕跟踪来跟踪查看产品。 同样,Teams 应用可能使用了一个或多个仅在 Teams 中可用的平台功能,例如机器人、消息扩展等。或者你拥有精心打造的体验来处理 Teams 特有的用例,例如会议扩展、使用 Microsoft Graph 的智能 M365 感知方案、链接展开等。 本文档的其余部分更详细地介绍了从这些独特的 Teams 应用体验捕获检测。

检测 Teams 应用特定的分析

本部分包括有关要查找的内容、要捕获的事件、如何使用检测标记以及从何处获取 Teams 相关信息的指南和指针,这些信息将帮助你为应用规划和实现分析。 Teams 应用可以是选项卡、机器人、消息扩展、卡片、阶段视图等,也可以是这些功能 和 UI 构造 的任意组合(跨个人或共享范围)。 最好是了解、规划和实施上述每项功能中的检测。

可以将 Teams 平台功能大致分为两种构造:

托管的 Web 画布构造

面向画布的视觉对象功能是 Microsoft Teams 中嵌入的 Teams 感知网页,例如选项卡、个人应用、对话框 (显示嵌入式 iframe) 、Stageviews、会议选项卡、共享会议阶段和会议内对话。 它们托管在云中,其余 SaaS 应用在 Web 浏览器中运行。

这些网页通常针对核心 SaaS Web 应用需求执行检测。 只需捕获特定于 Teams 的事件,并在代码中处理它们以用于特定于 Teams 的检测。 选项卡是“Teams 感知”网页,这可方便满足分析需求。

按照 此处定义的先决条件生成选项卡时,请将 Teams JavaScript 客户端 SDK 添加到选项卡的内容或配置页。 它可确保页面可以访问特定于 Teams 的信息或 上下文。 使用此信息获取有用的特定于用户的见解,例如:

  • 当前用户 () 的 Microsoft 365 租户 ID (Microsoft Entra 租户) tid 。 在 Microsoft 365 或 Microsoft Entra ID 中,租户是组织(即用户公司)的代表。 Microsoft 365 租户 ID 可用于找出并记录用户所属的 Microsoft 365 租户。 知道租户 ID 后,即可使用此图形 API查找组织的租户域,这通常会显示组织的名称。 请确保在 Microsoft 365 开发人员租户中调用此 API,因为你将能够同意所需的租户管理员权限。
  • 分配给用户的许可证类型以及当前用户的租户的 SKU。 () 和企业版的 F1、E1、E3 和 E5 企业计划 licenseType 、免费、edu 和未知 (tenantSKU) 。
  • 加载选项卡 URL 的上下文。 一些可能的值可以是内容页、对话框、选项卡设置对话框、选项卡删除对话框、会议 sidePanel 等。 (frameContext).
  • 在其中加载选项卡的主机客户端类型。 可能的值为 Android、IoS、Web、desktop、surfaceHub 等。 (hostClientType). 可以切片分析数据。
  • 用户的区域设置感知指示语言,例如 en-us、fr-fr、ja-jp 等。 (locale).
  • 用户主体名称或登录提示 (loginHint 当前租户中当前用户的) (通常用户的电子邮件地址) 。
  • 将频道选项卡添加到的团队名称和频道名称 (teamNamechannelName) 。
  • 用于关联检测数据 () appSessionId 的选项卡中当前应用会话的唯一 ID。
  • 会议 ID 由会议上下文中运行的选项卡使用,并添加用于响应有效负载 (meetingId) 。
  • 当前用户的Microsoft Entra ID。

从选项卡上下文中提取特定于 Teams 的信息后,以下示例中显示了一些可以使用这些信息的可能方式:

跟踪特定于 Teams 的信息 结果
用户的组织。 跟踪对应用的需求,特别是如果你为 SaaS 产品提供新注册试用期或免费增值产品/服务,以便进行销售推广、加入组织、检查以获取帮助。
用户的组织类型和用户的角色。 使用许可证类型和租户 SKU 为 Teams 用户构建客户配置文件。 切片分析数据,例如使用情况、会话、保留期等。相应地,并定制你的功能、体验等。因此。
来自团队或频道名称的主机客户端类型、区域设置和使用上下文推理。 在用户分析中丰富客户的个人资料。
框架上下文。 从各种外围应用、功能和范围获取有关用户使用应用的上下文、用户旅程和使用模式的信息。 相应地创建用户体验,并在用户流行的功能上投入更多资金。
用户的电子邮件地址。 将有意义的真实标识与 Teams 用户相关联,并提供 Microsoft 365 租户组织的域地址,即 contoso.onmicrosoft.com。 标识用户所属的组织。 用户的电子邮件地址可用于完成用户的个人资料,并与用户通信以激活、重新营销和重新参与。 但是,请注意不要滥用此频道或向用户发送垃圾邮件。
Microsoft Entra用户或对象 ID。 在安装应用 (机器人时获取并存储唯一Microsoft Entra用户或对象 ID) 。 通过机器人向用户发送任何主动通知。

对话构造

面向对话或聊天的功能包括机器人、消息扩展、卡片和对话, (显示为 Teams 用户创建的自适应卡片) 。 从概念上讲,这些体验是为创建的,并且仅适用于 Teams 内部的用户。 需要捕获特定于 Teams 的事件,并从头开始处理这些构造的代码中特定于 Teams 的检测。 机器人可以访问有关安装团队、聊天、会议、1:1 通话或组呼叫的其他上下文数据。

使用此信息来丰富机器人的功能和用户体验:

  • 在机器人中查询成员列表及其基本用户配置文件,包括 Teams 用户 ID 和Microsoft Entra信息,例如名称和Microsoft Entra用户或对象 ID。

  • 使用用户Microsoft Entra用户或对象 ID 查找用户的名字、姓氏、电子邮件地址、租户 ID 和用户在团队中的角色。 按照托管 Web 画布构造所述,利用这些详细信息。

  • 如果机器人安装在团队中,请查询有关该团队的元数据,包括Microsoft Entra组 ID 和团队名称。 它还可以查询团队中的频道列表,这将返回频道 ID 和名称。 利用此信息进行配置、设置和个性化。

  • 使用会议详细信息 API 获取会议或呼叫的静态元数据,例如会议类型 (,例如、GroupCallOneToOneCallAdhocBroadcastRecurringMeetNowScheduled、、 或 Unknown) 、对话类型、组织者租户 ID 等。

Teams 发送到机器人的每个活动都将包含 turnContext 可从中检索所有这些相关字段的对象。 可以采用与托管 Web 画布构造中所述的类似方式利用它们。

由于消息扩展基于机器人通道,因此上述大部分内容也适用于消息扩展。

聚合见解和特定于用户的见解

除了 SaaS 世界中的明显指标(例如每日、每周、每月活跃用户)以及根据上述指南精心为 Teams 应用实施分析所花费的时间,还可以让你获得见解,例如:

  • 聚合指标

    • 哪些平台功能、外围应用 (例如选项卡、机器人、消息扩展) 和 UI 构造 (卡片、对话框、阶段视图) 在 Teams 应用中使用最多?
    • 用户最常使用哪个范围或 UI 入口点 ((如个人应用、频道、群聊) )在 Teams 中调用你的应用并开始新的应用会话?
    • 在安装应用后的第一周内,用户平均使用你的应用多少天?
    • 你的应用或特定功能 ((如个人应用或机器人) )的每周或每月新用户保留队列分析是什么?
    • 有多少用户仅在 Teams 移动客户端上使用你的应用?
    • 有多少用户在应用中使用了相机设备功能?
    • 漏斗分析在从应用安装到激活、参与、保留以及最后盈利的各个阶段为你的应用提供哪些信息? 下车发生在哪里?
    • 过去一周内有多少用户安装了你的应用?
    • 在过去三个月中,有多少用户从你的应用流失了? 产生的季度流失率是多少?
    • 哪个组织在过去 30 天内看到了应用的最大安装次数?
    • 过去 14 天内安装应用的用户属于哪些组织?
    • 哪个组织在过去七天内看到了应用的最大试用注册数?
    • 应用 (GroupCallOneToOneCall、、MeetNowBroadcastAdhocRecurringScheduled) 哪些类型的会议?
  • 特定于用户的指标

    • 哪些用户尚未体验在上次应用更新中在应用中实现的频道选项卡功能?
    • 哪些用户尚未在个人应用中完成载入?
    • 在过去一周内安装了该应用的用户中,哪些用户在安装后甚至一次都没有返回应用?
    • 哪些用户已安装应用但尚未登录到应用?
    • 特定用户在过去 30 天内使用了你的 Teams 应用多少次?
    • 特定用户在过去七天内主动使用你的应用了多少天?
    • 特定用户上次在 Teams 中使用你的应用的时间是什么时候?
    • 特定应用用户在 Teams 中的旅程是什么?
    • 在过去三个月中,哪些用户从你的应用流失了?
    • 特定用户在 Teams 会议中使用了你的应用吗?

接下来,了解如何有条不紊地制定数据检测策略,并根据要从 Teams 应用使用情况派生的特定见解来确定要衡量的内容。

后续步骤