事例紹介

Gratitude では、ウィジェット ユーザーの継続率が 25% 向上しました。

所要時間: 3 分

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

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

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

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

AANDDM_Gratitude_01.png

課題: リテンション率を低下させずにモダナイズする

ウィジェットの影響は明らかでしたが、Gratitude の元の XML ベースの RemoteViews 実装では、技術的負債が発生していました。アプリのデザイン システムがマテリアル 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 つの感謝ウィジェットと適応型サイズ変更を示しています。

GratitudeAdaptiveWidgets.gif

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 を使い始め、この記事で説明したテクノロジーについて学ぶには、以下のガイドをご覧ください。

他のウィジェットのケーススタディをご覧ください。

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

作成者:
続きを読む