FotMob 最近在 Wear OS 上的安裝人數創下 5 年來單日最大增幅,達到每日平均值的 2 到 3 倍。秘訣是什麼?簡單的跨裝置安裝流程,可協助使用者直接從手機找到 Wear OS 應用程式。
FotMob 是全球最受歡迎的足球平台之一,以提供即時比分、統計分析和新聞的行動應用程式而聞名。
除了行動應用程式外,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 體驗的螢幕截圖,讓使用者立即瞭解應用程式在手錶上的外觀。
如要開始安裝,應用程式會使用 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 管理中心的安裝資料
-
個案研究Grab 是東南亞首屈一指的超級應用程式,透過單一應用程式為八個國家/地區的數百萬名使用者提供外送、交通和金融服務。
Ajesh Pai, Nguyen Van Minh, Tracy Agyemang • 閱讀時間:5 分鐘 -
個案研究該團隊建構了 AI 原生 UI 程式碼集,比原始實作小 50%,同時將 AI 代理執行時間縮短 35%,工程師與代理之間的互動減少 32%,並將權杖成本降低 33%。
Pavlo Stavytskyi, Rebecca Franks • 閱讀時間:11 分鐘 -
個案研究WhatsApp 是全球最大的訊息平台,為全球數十億使用者提供服務。WhatsApp 是不同地區使用者預設的通訊工具,透過私密、可靠且安全的訊息服務,將使用者連結在一起。
Niharika Arora, Tracy Agyemang, Mayank Jain • 閱讀時間:8 分鐘
每週透過電子郵件接收最新的 Android 開發洞察資訊。