FotMob は最近、Wear OS のインストール ユーザー数が 1 日で 5 年間で最大となる増加を記録し、1 日の平均の 2 ~ 3 倍に達しました。その秘密とは?ユーザーがスマートフォンから直接 Wear OS アプリを見つけられるシンプルなクロスデバイス インストール フロー。
FotMob は、世界で最も人気のあるサッカー(サッカーとも呼ばれます)プラットフォームの 1 つです。モバイルアプリでリアルタイムのスコア、統計分析、ニュースを提供することで知られています。
FotMob はモバイルアプリだけでなく Wear OS でも利用できるため、ユーザーは手首から直接最新のスコアや結果を確認できます。
FotMob の Android テクニカル リーダーである Roy Solberg 氏は次のように述べています。「FotMob のユーザーの多くは試合をライブで観戦しており、その多くはスマートフォンを積極的に使用していないときに行われます。」「Wear OS を利用すれば、ファンは手首から直接スコア、試合のイベント、最新情報をすばやく確認できます。そのため、FotMob のエクスペリエンスを自然に拡張できると考えました。」
さまざまなフォーム ファクタでスムーズなエクスペリエンスを提供することで、FotMob はユーザーが最も便利な形でプラットフォームを最大限に活用できるようにしています。これには、お気に入りのチームなどの設定がデバイス間で同期されるようにすることも含まれます。
ディスカバリー ギャップ
FotMob のユーザーの多くが Wear OS デバイスを所有しているにもかかわらず、一部のユーザーは Wear OS アプリの存在に気づいていない可能性があることに FotMob は気づきました。そこで、コアのスマートフォン アプリ内から 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 を使用してスマートウォッチで Google Play ストアを起動します。
val remoteActivityHelper = RemoteActivityHelper(context) remoteActivityHelper.startRemoteActivity( Intent(Intent.ACTION_VIEW) .setData("market://details?id=${context.packageName}".toUri()) .addCategory(Intent.CATEGORY_BROWSABLE), nodeId ).await()
結果
「Wearable API を使用したことで、実装が簡単になりました」と Roy 氏は述べています。「接続されているデバイスを検出し、機能をクエリできるため、スマートウォッチ アプリがすでにインストールされているかどうかをすばやく判断できました。そこからは、ユーザーにとって邪魔ではなく、役に立つと感じられるプロンプトを設計することが主な作業でした。」
クロスデバイス インストール機能のリリースにより、FotMob の Wear OS ユーザー数が 1 日で過去 5 年間で最大に増加し、通常のインストール率の 2 ~ 3 倍になりました。ロールアウトが 100% に達してから 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 サンプルで、アプリにクロスデバイス機能を追加する方法について詳しく学び、新しいアプリ内インストール プロンプト ライブラリで、ユーザーがクロスデバイス インストールを完了できるようにするためのオプションを確認してください。
[1]。Google Play Console のインストール データ
続きを読む
-
事例紹介
マインドフルネス アプリ Gratitude は、毎日の日記、アファメーション、ビジョンボードを通じて一貫性を促します。このアプリは 600 万回以上ダウンロードされ、15 万件の 5 つ星評価を獲得し、1 億件の日記が記録されています。
Amrit Sanjeev, Ash Nohe • 所要時間 3 分
-
事例紹介
Karrot は、ユーザーが他の認証済みユーザーとアイテムの売買や交換を行える、地域密着型のコミュニティ主導のピアツーピア マーケットプレイス アプリです。2015 年に韓国でリリースされて以来、このプラットフォームはグローバル市場に拡大し、4,300 万人を超える登録ユーザーを獲得しています。
Thomas Ezan, Tracy Agyemang • 所要時間: 2 分
-
事例紹介
Monzo は、1,500 万人の顧客を擁し、成長を続ける英国のデジタルバンクです。アプリが拡大するにつれて、エンジニアリング チームはアプリの起動時間を改善すべき重要な領域として特定しましたが、コードベースに大幅な変更が必要になることを懸念していました。
Ben Weiss, Tracy Agyemang • 所要時間: 2 分
最新情報の入手
Android 開発に関する最新の分析情報を毎週メールでお届けします。