感謝の気持ちを持つことで、うつ病や不安の症状が軽減し、メンタルヘルスと生活満足度が向上する可能性があります¹。感謝の気持ちを継続的に持つことで、数か月間持続する改善効果が得られる可能性があります²。マインドフルネス アプリの Gratitude は、毎日の簡単な日記、アファメーション、ビジョン ボードを通じて、感謝の気持ちを継続的に持つことを促します。このアプリは 600 万回以上ダウンロードされ、15 万件の 5 つ星評価と 1 億件の日記エントリが記録されています。
デベロッパーの Divij Gupta 氏と Narendra Aanjna 氏は、アプリの各コア ユーザー ジャーニーのウィジェットを開発しました。目標は、アプリのセッション全体を必要とせずに、ユーザーが日常的に利用するタイミングでユーザーにリーチすることでした。
インタラクティブなジャーナリングのプロンプト、アファメーション、ビジョン ボードの画像、指標をユーザーのホーム画面に直接表示することで、チームは毎日の振り返りのハードルを下げ、ウィジェット ユーザーの継続率が 25% 増加し、ウィジェットから毎週約 1,000 件のジャーナル エントリがあったと報告しています。ユーザーのロイヤルティの向上は、ユーザーの健康状態の改善につながります。長期的な心の健康をサポートする習慣を継続的に身につけることができるのです。
「ウィジェットは、ホーム画面に直接インスピレーション、リマインダー、振り返りを提供することで、ユーザーの日常にアプリをより身近なものにするのに役立ちました。これにより、ユーザーのエンゲージメントが向上し、マインドフルネスの実践を継続しやすくなりました。」- Divij Gupta
課題: リテンション率を低下させずにモダナイズする
ウィジェットの影響は明らかでしたが、Gratitude の元の XML ベースの RemoteViews 実装では、技術的負債が発生していました。アプリのデザイン システムがマテリアル 3 に進化するにつれて、従来のウィジェットを最新の UI に合わせることがますます難しくなりました。視覚的な更新ごとに手動の XML オーバーヘッドと脆弱な回避策が必要になり、デベロッパーの速度が低下していました。
解決策 パート 1: XML から Jetpack Glance への移行
ウィジェットを最新化するために、チームは Jetpack Glance を採用しました。
まず、Android のウィジェットのデザイン ページと標準のウィジェット レイアウトを参照して、限られたスペース内で情報を表示するためのベスト プラクティスを理解しました。
その後、ウィジェット スイートを Jetpack Glance に移行しました。この宣言型フレームワークにより、デベロッパーは計画からリリースまでを 1 か月未満で完了できるようになり、開発時間を約 50% 削減できました。また、次の 2 つのメリットも得られました。
- 制限の多い XML レイアウトを宣言型コードに置き換えることで、コードベースの読みやすさとメンテナンス性が向上し、デベロッパーの労力が軽減されました。
- Jetpack Glance を使用することで、ダイナミック カラー、柔軟なサイズ変更、拡張された構成オプションをより簡単に実装できるようになりました。これらの機能により、ウィジェットがユーザーの独自のホーム画面レイアウトと調和します。
次の GIF は、2 つの感謝ウィジェットと適応型サイズ変更を示しています。
Glance は UI を簡素化しましたが、チームは、デバイス間でレイアウトの一貫性を確保するためには、さまざまな OEM ランチャーでのテストも不可欠であると指摘しました。
また、チームは 生成されたウィジェットのプレビューも実装し、ユーザーがパーソナライズされたプレビューを確認できるようにしました。プレビューはバッテリーを節約するためにレートが制限されるため、生成されたプレビューのテストは遅くなる可能性があると指摘しています。テスト用にレート制限をバイパスするには、次の adb コマンドを使用します。
adb shell device_config put systemui generated_preview_api_reset_interval_ms 0
こうした取り組みにより、感謝ウィジェットは高品質で差別化されたものになりました。
解決策 パート 2: アプリ内で新しいウィジェットを宣伝する
その後、デベロッパーは アプリ内ウィジェットのピン留めを使用して、ウィジェットの見つけやすさとウィジェットのインストール数を増やしました。アプリ内のコンテキストに関連するタイミングでユーザーにウィジェットのインストールを求めることで、ユーザーはシステム ウィジェット ピッカーを使用しなくてもウィジェットを見つけやすくなります。次の GIF は、アプリ内からウィジェットを追加するための Gratitude のボトムシートを示しています。
また、チームはウィジェット パッケージをリファクタリングしました。これにより、ウィジェット レシーバのパスが変更され、ユーザーのホーム画面からウィジェットが削除されました。以前に保存されたユーザーフラグを使用してウィジェット ユーザーを特定し、ウィジェット ユーザーに新しいモダン化されたウィジェットの使用を促す別の requestPinGlanceAppWidget プロンプトをトリガーしました。
デベロッパー向けのヒント: RemoteViews から Jetpack Glance に移行する際にウィジェットのインストールを維持するには、GlanceAppWidgetReceiver が Android マニフェスト内の以前の AppWidgetProvider と同じクラス名とパッケージを使用していることを確認してください。新しいクラス名やパッケージの場所が必要な場合は、Gratitude に倣って、アプリ内ピン留めを使用してユーザーがウィジェットを復元できるようにします。
この戦略は有効で、DAU の 10% がウィジェットを採用しています。
まとめ
この感謝のストーリーは、ウィジェットが習慣形成のツールになることを示しています。ホーム画面からすぐに自己反省できるクイック アクションを実装することで、ユーザーのロイヤリティが向上しました。Gratitude は、Jetpack Glance を採用して技術的負債を減らし、ウィジェットを最新化しました。また、アプリ内でウィジェットを追加するようユーザーに促しました。
「Jetpack Glance を使用した経験は素晴らしいものでした。Compose ベースのアプローチは、よりモダンで柔軟性があり、現在の UI の構築方法に沿ったものだと感じています。これにより、ウィジェット レイアウトをより自然に表現し、使い慣れた Compose コンポーネントを再利用し、UI の変更をはるかに迅速に反復処理できます。以前 RemoteViews で直面していた UI の制約の多くが解消されたため、アプリのデザインとエクスペリエンスに合ったウィジェットを簡単に作成できるようになりました。」 - Divij Gupta
スタートガイド
Jetpack Glance を使い始め、この記事で説明したテクノロジーについて学ぶには、以下のガイドをご覧ください。
- Jetpack Glance の概要
- Android のウィジェットのデザイン ページ
- 正規ウィジェット レイアウト
- 生成されたウィジェットのプレビュー
- ウィジェットの品質レベル
- アプリ内ウィジェットの固定
- ダイナミック カラー
- サイズ変更
- 構成アクティビティ
他のウィジェットのケーススタディをご覧ください。
- Google の連絡帳アプリは、Jetpack Glance を使用して新しいウィジェットを 25% 早く作成しました
- SoundCloud 社、Jetpack Glance を使用して 2 週間で「お気に入りのトラック」ウィジェットを構築
1: Diniz, G.、Korkes, L.、Tristão, L. S.、Pelegrini, R.、Bellodi, P. L., & Bernardo, W. M. (2023)。「The effects of gratitude interventions: a systematic review and meta-analysis. einstein (Sao Paulo)., 21、eRW0371。https://doi.org/10.31744/einstein_journal/2023RW0371
2: Bohlmeijer, E.、Kraiss, J.、Schotanus-Dijkstra, M.、& ten Klooster, P. (2022 年)。感謝の気持ちが、6 週間の感謝の介入が精神的な健康に及ぼす影響を媒介する: ランダム化比較試験の事後分析。Front. Psychol., 12, 799447. https://doi.org/10.3389/fpsyg.2021.799447
-
事例紹介Ultrahuman は、RING Air や M1 Live 連続血糖測定器(CGM)などのウェアラブル デバイスから取得した生体認証データに基づいて、ユーザーに毎日の健康状態に関する分析情報を提供する一般ユーザー向けヘルスケア テクノロジー スタートアップです。
Amrit Sanjeev, Trevor Johns • 所要時間: 2 分 -
事例紹介チームは、元の実装よりも 50% 小さい AI ネイティブ UI コードベースを構築し、AI エージェントの実行時間を 35% 短縮、エンジニアとエージェントのやり取りを 32% 削減、トークン費用を 33% 削減しました。
Pavlo Stavytskyi, Rebecca Franks • 所要時間: 11 分 -
事例紹介WhatsApp は世界最大のメッセージ プラットフォームであり、世界中の数十億人のユーザーにサービスを提供しています。さまざまな地域のユーザーにとってデフォルトのコミュニケーション ツールであり、プライベートで信頼性が高く安全なメッセージングを通じてユーザーをつなぎます。
Niharika Arora, Tracy Agyemang, Mayank Jain • 所要時間: 8 分
Android 開発に関する最新の分析情報を毎週メールでお届けします。