FotMob は最近、Wear OS のインストール ユーザー数が 1 日で過去 5 年間で最大となる 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 ユーザー数は 5 年間で 1 日あたり最大に増加し、通常のインストール率の 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 のインストール データ
続きを読む
-
事例紹介
パフォーマンスの低下は再現が非常に難しく、モバイル デベロッパーにとって大きなボトルネックとなっています。
Alice Yuan, Arti Arutiunov, Nikita Ogorodnikov • 所要時間: 4 分
-
事例紹介
マインドフルネス アプリの Gratitude は、毎日の日記、アファメーション、ビジョンボードを通じて、継続性を促します。このアプリは 600 万回以上ダウンロードされ、5 つ星の評価が 15 万件、日記のエントリが 1 億件を超えています。
Amrit Sanjeev, Ash Nohe • 所要時間 3 分
-
事例紹介
Karrot は、地域密着型のコミュニティ主導のピアツーピア マーケットプレイス アプリです。ユーザーは、他の確認済みのユーザーとアイテムの売買や交換を行うことができます。2015 年に韓国でリリースされて以来、このプラットフォームはグローバル市場に拡大し、4,300 万人を超える登録ユーザーを獲得しています。
Thomas Ezan, Tracy Agyemang • 所要時間: 2 分
最新情報の入手
Android 開発に関する最新の分析情報を毎週メールでお届けします。