事例紹介

Gratitude、ウィジェット ユーザーのアプリ継続率が 25% 向上

所要時間: 3 分

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

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

インタラクティブな日記のプロンプト、アファメーション、ビジョン ボードの画像、指標をユーザーのホーム画面に直接表示することで、チームは毎日の振り返りのハードルを下げ、ウィジェット ユーザーのアプリ継続率が 25% 向上 し、ウィジェットから 1 週間に約 1,000 件の日記が記録 されるようになりました。ユーザーのリピート回数の向上は、長期的な精神的健康をサポートする一貫した習慣の形成という、ユーザーにとって具体的な健康上の成果につながります。

「ウィジェットは、ホーム画面に直接、簡単なインスピレーション、リマインダー、振り返りを提供することで、ユーザーの日常的なルーティンにアプリを組み込むのに役立ちました。これによりエンゲージメントが向上し、ユーザーはマインドフルネスの実践を継続しやすくなりました。」 - Divij Gupta

AANDDM_Gratitude_01.png

課題: アプリ継続率を低下させることなくモダナイズする

ウィジェットの効果は明らかでしたが、Gratitude の元の XML ベースの RemoteViews 実装では技術的負債が生じていました。アプリのデザイン システムがマテリアル 3 に進化するにつれて、従来のウィジェットを最新の UI に合わせることがますます難しくなりました。ビジュアルを更新するたびに、手動で XML をオーバーヘッドする必要があり、脆弱な回避策が必要になったため、デベロッパーの速度が低下しました。

AANDDM_Gratitude_02.png

ソリューション パート 1: XML から Jetpack Glance に移行する

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

まず、Widgets on 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 に移行する際にウィジェットのインストール数を維持するには、Android マニフェストで、GlanceAppWidgetReceiver が以前の 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

作成者:

続きを読む