個案研究

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 的 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 倍。在推出進度達到 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)
}

後續步驟:立即開始打造跨裝置歷程

深入瞭解 DataLayer 範例,瞭解如何為應用程式新增跨裝置功能,並探索新的應用程式內安裝提示程式庫,瞭解如何協助使用者完成跨裝置安裝。

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

作者:
繼續閱讀