案例研究

FotMob 如何利用跨设备探索功能,在 Wear OS 上的采用率创下新高

阅读用时:3 分钟
查看 Garan Jenkin 的个人资料
Garan Jenkin 开发者关系工程师

FotMob 最近在 Wear OS 上的安装用户数创下了 5 年来单日增幅新高,达到日均增幅的 2-3 倍。秘诀是什么?简单的跨设备安装流程,可帮助用户直接通过手机发现 Wear OS 应用。

FotMob 是全球最受欢迎的足球平台之一,其移动应用提供实时比分、统计分析和新闻。

fotmob-side-by-side.png

除了移动应用之外,FotMob 还推出了 Wear OS 版本,让用户可以直接在手腕上随时掌握最新比分和赛果。

“许多 FotMob 用户都会观看比赛直播,而这通常发生在他们没有主动使用手机的时候,”FotMob 的 Android 技术主管 Roy Solberg 说道。“Wear OS 让球迷能够直接在手腕上快速查看比分、比赛事件和最新动态,因此我们认为它是 FotMob 体验的自然延伸。”

通过在不同设备规格上提供流畅的体验,FotMob 确保用户能够继续以最便捷的方式充分利用其平台。这包括确保设置和偏好设置(例如喜爱的球队)在不同设备之间同步。

发现差距

尽管许多 FotMob 用户都拥有 Wear OS 设备,但 FotMob 意识到,有些用户可能并不知道有 Wear OS 应用。这促使该团队考虑采用技术手段,在核心“电话”应用中直接向用户介绍 Wear OS 应用,并最终引导用户安装该应用。

幸运的是,Android 和 Wear OS 上的 Wearable 库提供了 FotMob 所需的构建块,可用于打造让用户能够实现这一目标的应用内体验。

检测符合条件的 Wear OS 设备

在 FotMob “电话”应用中,该团队使用 NodeClient 来识别已连接的 Wear OS 设备(Wear OS 应用的候选设备):

val connectedNodes = nodeClient.connectedNodes.await()

此外,该团队还在 Wear OS 应用中定义了一项功能,用于指示设备上已安装 FotMob。此功能在 Wear OS 软件包中定义为 XML 资源,然后在“电话”应用中进行查询:

val nodesWithApp = capabilityClient
    .getCapability(CAPABILITY_WEAR_APP, CapabilityClient.FILTER_REACHABLE)
    .await()
    .nodes

通过仅查找不具备该功能的节点,该团队确保 FotMob “电话”应用仅列出未安装该应用的 Wear OS 设备。

启动安装流程

FotMob 团队设计了一个半页大小的教育性提示,让用户快速了解这一机会,并允许他们启动安装流程或关闭提示。其中包含一张醒目的 Wear OS 体验屏幕截图,让用户可以立即看到该应用在手表上的显示效果。

fotmob_wear_wrist.png

为了开始安装,应用会使用 RemoteActivityHelper API 在手表上启动 Play 商店:

val remoteActivityHelper = RemoteActivityHelper(context)

remoteActivityHelper.startRemoteActivity(
    Intent(Intent.ACTION_VIEW)
        .setData("market://details?id=${context.packageName}".toUri())
        .addCategory(Intent.CATEGORY_BROWSABLE),
    nodeId
).await()

结果

Roy 表示:“Wearable API 让实现过程变得简单直接。”“能够检测已连接的设备并查询功能,意味着我们可以快速确定是否已安装手表应用。在此基础上,我们主要致力于设计一种让用户感到有帮助而非侵扰的提示。”

在推出跨设备安装功能后,FotMob 在 Wear OS 上的安装用户群创下了 5 年来单日增幅最大的纪录,比正常安装率高出 2-3 倍。在发布范围达到 100% 后的 48 小时内,该手表应用的新安装量超过了 1,500 次¹。

Roy 表示:“在最初的 10 天内,我们发现 Wear OS 新安装量大幅增加。” “这款手表应用已经推出多年,但这次测试证实,许多拥有兼容设备的用户根本不知道它的存在。”

不断演进的跨设备安装

除了 FotMob 采用的解决方案之外,我们现在还推出了一个库,以便您通过应用内安装提示库更轻松地实现这些跨设备安装历程。

以下示例展示了如何在应用中的适当位置添加安装提示:

val crossDevicePromptManager = CrossDevicePromptManagerFactory.create(activity)
val request = CrossDevicePromptInstallationRequest.create()

try {
    val info = crossDevicePromptManager.requestInstallationPromptFlow(request).await()
    crossDevicePromptManager.launchPromptFlow(activity, info).await()
} catch (e: CrossDevicePromptException) {
    Log.e(TAG, "Cross-device prompt failed with error: ${e.errorCode}", e)
}

后续步骤:立即开始打造您自己的跨设备体验

深入了解数据层示例,详细了解如何为应用添加跨设备功能,并探索新的应用内安装提示库,该库提供了多种选项,可帮助用户实现跨设备安装。

[1]. 来自 Play 管理中心的安装数据

作者:
继续阅读