個案研究

FotMob 如何運用跨裝置探索功能,締造 Wear OS 採用率新高

3 分鐘閱讀
Garan Jenkin
開發人員關係工程師

FotMob 最近在 Wear OS 上的安裝人數,創下 5 年來單日最大增幅,達到每日平均值的 2 到 3 倍。秘訣是什麼?簡單的跨裝置安裝流程,可協助使用者直接透過手機探索 Wear OS 應用程式。

FotMob 是全球最受歡迎的足球平台之一,以提供即時比分、統計分析和新聞的行動應用程式聞名。

fotmob-side-by-side.png

除了行動應用程式,FotMob 也支援 Wear OS,讓使用者直接在手錶上掌握最新比數和賽果。

FotMob Android 技術主管 Roy Solberg 表示:「許多 FotMob 使用者會即時追蹤賽事,但他們通常不會主動使用手機。」「透過 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 倍。在推出作業完成後的 48 小時內,手錶應用程式的安裝次數增加了 1,500 多次¹。

「在頭 10 天內,我們看到 Wear OS 的新安裝次數大幅增加。」Roy 說道。 「手錶應用程式已推出多年,但這項確認程序顯示,許多相容裝置的使用者根本不知道有這個應用程式。」

跨裝置安裝次數的演變

除了 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)
}

後續步驟:立即開始建構專屬的跨裝置歷程

深入瞭解 DataLayer 範例,進一步瞭解如何為應用程式新增跨裝置功能,並探索全新的 In-App Install Prompts 程式庫,瞭解如何協助使用者完成跨裝置安裝。

[1]。Play 管理中心安裝資料

撰寫者:

繼續閱讀