事例紹介

Gratitude では、ウィジェット ユーザーの維持率が 25% 向上

所要時間: 3 分

感謝の気持ちを実践することで、うつ病や不安の症状が軽減され、メンタルヘルスと生活満足度が向上する可能性があります¹。感謝の気持ちを継続的に実践することで、数か月間にわたって持続的な改善が期待できます²。マインドフルネス アプリ Gratitude は、毎日の短い日記、アファメーション、ビジョンボードを通じて、継続的な実践を促します。このアプリは 600 万回以上ダウンロードされ、15 万件の 5 つ星評価を獲得し、1 億件の日記エントリが記録されています。

デベロッパーの Divij Gupta 氏と Narendra Aanjna 氏は、アプリのコア ユーザー ジャーニーごとにウィジェットを開発しました。その目標は、アプリのセッション全体を必要とせずに、ユーザーの日常的な瞬間に対応することでした。

インタラクティブなジャーナリング プロンプト、アファメーション、ビジョンボードの画像、指標をユーザーのホーム画面に直接表示することで、チームは毎日の振り返りのハードルを下げ、ウィジェット ユーザーの維持率が 25% 増加し、ウィジェットからの週次ジャーナル エントリが約 1,000 件に達したと報告しています。このユーザー ロイヤリティの向上は、ユーザーにとって具体的な健康上の成果、つまり長期的なメンタル ウェルビーイングをサポートする一貫した習慣の形成につながります。

「ウィジェットのおかげで、ホーム画面に直接、簡単なインスピレーション、リマインダー、振り返りを表示できるようになり、ユーザーの日常にアプリがより深く関わるようになりました。これにより、エンゲージメントが向上し、ユーザーがマインドフルネスの実践を継続しやすくなりました。」- Divij Gupta

AANDDM_Gratitude_01.png

課題: ユーザー維持率を低下させずにモダナイズする

ウィジェットの効果は明らかでしたが、Gratitude の元の XML ベースの RemoteViews 実装は技術的負債を生み出していました。アプリのデザイン システムが Material 3 に進化するにつれて、以前のウィジェットを最新の UI に合わせることがますます難しくなりました。ビジュアルを更新するたびに、手動で XML のオーバーヘッドと不安定な回避策が必要になり、開発者の作業速度が低下していました。

AANDDM_Gratitude_02.png

解決策パート 1: XML から Jetpack Glance への移行

ウィジェットをモダナイズするために、チームは Jetpack Glance を採用しました。

まず、Android のウィジェットのデザインページと標準ウィジェット レイアウトを参照して、限られたスペースに情報を表示するためのベスト プラクティスを理解しました。

その後、ウィジェット スイートを Jetpack Glance に移行しました。この宣言型フレームワークにより、デベロッパーは計画からリリースまでを 1 か月未満で完了できるようになり、開発時間を約 50% 節約できました。さらに、次の 2 つのメリットも得られました。

  • 制限の多い XML レイアウトを宣言型コードに置き換えることで、コードベースの読みやすさとメンテナンス性が向上し、デベロッパーの労力が軽減されました。
  • Jetpack Glance を使用することで、ダイナミック カラー、柔軟なサイズ変更、拡張された構成オプションを簡単に実装できるようになりました。これらの機能により、ウィジェットがユーザー独自のホーム画面レイアウトと調和するようになります。
AANDDM_Gratitude_03.png

次の GIF は、2 つの Gratitude ウィジェットとアダプティブ サイズ変更を示しています。

GratitudeAdaptiveWidgets.gif

Glance によって UI は簡素化されましたが、さまざまな OEM ランチャーでテストすることも、デバイス間でレイアウトの一貫性を確保するために不可欠であるとチームは指摘しています。

また、生成されたウィジェットのプレビューを実装して、ユーザーがパーソナライズされたプレビューを確認できるようにしました。生成されたプレビューのテストは、バッテリーを節約するためにプレビューのレートが制限されているため、時間がかかる可能性があるとのことです。テストのためにレート制限をバイパスするには、次の adb コマンドを使用します。

adb shell device_config put systemui generated_preview_api_reset_interval_ms 0

こうした取り組みにより、Gratitude ウィジェットは高品質で差別化されたものになりました。

解決策パート 2: 新しいウィジェットをアプリ内で宣伝する

次に、アプリ内ウィジェットの固定を使用して、ウィジェットの見つけやすさとインストール数を向上させました。アプリ内のコンテキストに関連するタイミングでウィジェットをインストールするようユーザーに依頼すると、ユーザーはシステム ウィジェット ピッカーを使用せずにウィジェットを見つけることができます。次の GIF は、アプリ内からウィジェットを追加するための Gratitude のボトムシートを示しています。

また、ウィジェット パッケージをリファクタリングしたことで、ウィジェット レシーバのパスが変更され、ユーザーのホーム画面からウィジェットが削除されるという問題も発生しました。以前に保存されたユーザーフラグを使用してウィジェット ユーザーを特定し、別の requestPinGlanceAppWidget プロンプトをトリガーして、ウィジェット ユーザーに新しい最新のウィジェットを使用するよう促しました。

デベロッパー向けのヒント: RemoteViews から Jetpack Glance に移行する際にウィジェットのインストールを維持するには、GlanceAppWidgetReceiver で、Android マニフェストの以前の AppWidgetProvider と同じクラス名とパッケージを使用していることを確認してください。新しいクラス名またはパッケージの場所が必要な場合は、Gratitude の例に倣い、アプリ固定を使用してユーザーがウィジェットを復元できるようにします。

この戦略は功を奏し、1 日のアクティブ ユーザー数の 10% がウィジェットを導入しています。

まとめ

この Gratitude のストーリーは、ウィジェットが習慣形成のツールになり得ることを示しています。ホーム画面から直接自己分析できるクイック操作を実装することで、ユーザーのロイヤリティが向上しました。Gratitude は、Jetpack Glance を採用することで技術的負債を減らし、ウィジェットをモダナイズしました。また、アプリ内でウィジェットを追加するようユーザーに促しました。

「Jetpack Glance の使用感は素晴らしいものでした。Compose ベースのアプローチは、はるかにモダンで柔軟性が高く、現在の UI の構築方法に沿っていると感じます。これにより、ウィジェット レイアウトをより自然に表現し、使い慣れた Compose コンポーネントを再利用して、UI の変更をより迅速に反復処理できます。以前に RemoteViews で直面した UI の制約の多くは、もはや問題ではなくなり、アプリのデザインとエクスペリエンスに合ったウィジェットを簡単に作成できるようになりました。」 – Divij Gupta

スタートガイド

Jetpack Glance の使用を開始し、この投稿で紹介したテクノロジーの詳細を確認するには、以下のガイドをご覧ください。

ウィジェットのその他の事例紹介をご覧ください。

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 年)。Gratitude as mood mediates the effects of a 6-weeks gratitude intervention on mental well-being: post hoc analysis of a randomized controlled trial. Front. Psychol., 12, 799447. https://doi.org/10.3389/fpsyg.2021.799447

作成者:
続きを読む