昨年の夏、iOS 27の開発者向けベータ版がリリースされたとき、ViviDiaryのチームは通知の開封率が急落するのを目の当たりにしました。わずか1週間で、日々の通知に対するインタラクションは42%減少しました。
バグではありませんでした。サーバーも正常でした。私たちが直面したのは、Appleがユーザーの注意を扱う方法における根本的な変化でした。
Apple Intelligenceの進化は、プッシュ通知における開発者のUXを根本から変えました。AppleのOSは今や厳格な編集の門番として機能しており、LLM(大規模言語モデル)を活用して重要度を推論し、通知の並べ替え、要約、そして多くの場合、非表示化を行っています。新しい「通知の要約」や、攻撃的な「通知の要約」フォーカスモードのような機能は、一般的で反復的な通知を積極的に格下げします。
多くの習慣トラッカーやウェルネスアプリにとって、これは危機でした。しかし私たちにとっては、自分たちのプロダクト哲学が正しかったことの究極の証明となりました。
ここでは、私たちがAIフィルターを生き抜くためにクラウドストレージのプッシュ通知アーキテクチャをどのように適応させたか、何を作ることを断固として拒否したか、そしてApple Intelligenceに向けたマインドフルな通知の設計が、いかにしてより良く、より静かなプロダクトを作ることを強制したのかについて、率直に振り返ります。
Apple Intelligenceの要約に関する問題
ViviDiaryは「軽さ」を重視して設計されています。中心となるインタラクションは3秒のチェックインです。5段階の気分選択(最高、良い、普通、低い、つらい)といくつかの絵文字を選べば完了です。それ以外の機能(メモ、ボイスメモ、写真、フォーカスモジュール(ルーチン+ToDo))はすべて厳格なオプトイン方式です。新規ユーザーは、気分記録以外はすべてオフの状態でスタートします。
私たちは苦痛を感じているユーザーの認知負荷を軽減することを優先しているため、通知戦略は常に穏やかなものでした。私たちは「温かい」トーンを一つだけ使用しています。プレッシャーを与えるような継続記録や、パニックを誘う通知、「今日忘れていますよ」といった罪悪感を抱かせるような通知は行いません。
しかし、Apple Intelligenceはアプリの哲学を本質的に理解しているわけではありません。ただテキストを読み取るだけです。
iOS 27で「通知の要約」が導入されたとき、私たちの穏やかなリマインダーが集約され始めました。ユーザーが毎日のルーチンリマインダーと週次のミラー(パターン発見)のインサイトを受け取っている場合、AppleのAIは私たちが丁寧に作り上げた温かいトーンを剥ぎ取り、次のようなロボット的な要約に平坦化してしまいました:「気分記録と週次パターンに関する2件のリマインダー」
さらに悪いことに、ユーザーがiOS 27の「通知の要約」フォーカスモードを有効にしていると、私たちの通知は頻繁に「重要ではない」と見なされ、通知センターに埋もれてしまい、ロック画面を完全にバイパスするようになりました。
私たちには選択肢がありました。新しいシステムを出し抜く方法を見つけるか、それともAIと「協力」して真の価値を届ける方法を見つけるかです。
私たちが拒否したもの:「緊急性の高い通知(Time Sensitive)」APIの悪用
エンゲージメント指標の急落に直面したとき、成長チームからの反応は予測通りでした。「通知を『緊急性の高い通知(Time Sensitive)』としてマークすればいいのでは?」
AppleはAPNs(Apple Push Notification service)のペイロードに`Time Sensitive`段階の割り込みレベルを提供しています。これは、ライドシェアの到着、カレンダーのイベント、セキュリティアラートなどのために設計されています。これらは「通知の要約」フォーカスモードをバイパスして要約の最上位に表示されるため、多くのアプリが日々のエンゲージメント通知のためにこのフラグを悪用し始めました。
私たちはこれをTestFlightビルドで内部的にテストしました。うまくいきました。私たちの通知はAIフィルターを突破しました。しかし、私たちはそれが嫌でした。
私たちが本番環境に導入する前にこのアイデアを却下した理由は以下の通りです。
- 敵対的なUXである: 夜の気分を記録するリマインダーは自己認識のために重要ですが、緊急事態ではありません。ユーザーが明示的にiOSに通知の削減を求めているときに注意を奪うことは、私たちのアンチ・アテンション設計哲学に反します。
- Appleによるペナルティ: Appleのドキュメントには、ユーザーがアプリからの「緊急性の高い通知」を頻繁に無視する場合、OSがユーザーに対してそのアプリの「緊急性の高い通知」権限を完全にオフにするよう促すことが明記されています。これは短期的には効果があるかもしれませんが、長期的にはミュートされる結果を招きます。
- 信頼を損なう: 私たちは信号機のような進捗UIや、途切れた継続記録を責めるようなことはしません。ロック画面に無理やり割り込むことは、私たちが積極的に避けている、押し付けがましいコーチのような振る舞いだと感じました。
私たちは、iOS 27のロック画面に場所を確保したいのであれば、不正をしてはいけないと判断しました。気分トラッカーのプッシュ通知を紛れもなく関連性の高いものにする必要があったのです。
クラウドストレージのプッシュ通知アーキテクチャの再設計
通知をよりスマートにするために、通知をトリガーする方法を再考する必要がありました。
アーキテクチャについての簡単な注記:ViviDiaryはSupabaseとFirebase Authを使用してクラウドに保存されています。通知の最適な時間を特定するためにデータを処理すると言った場合、それは私たちのバックエンドで行われます。日記のテキストは、外部やAIによる処理が行われる前に厳格に非識別化されます。私たちのプライバシーは、データの最小化と非識別化によって守られています。私たちはクラウドベースのスタックについて完全に透明性を保っており、透明性こそが信頼の基盤であると信じています。
以前は、ユーザーがフォーカスモジュールにオプトインして「毎日のルーチン」を設定した場合、プッシュ通知の固定時間(例:8:00 PM)を選択できるようにしていました。
しかし、固定時間は愚かです。普段8:00 PMに気分を記録している人が、木曜日は遅い授業があって10:00 PMまでアプリを開かない場合、8:00 PMの通知は単なるノイズです。iOS 27の下では、そのノイズはフィルターにかけられてしまいます。
私たちはSupabaseのバックエンドを更新し、ユーザーが「実際に」ルーチンを完了したときの非識別化されたタイムスタンプを分析するようにしました。(ViviDiaryは一致する絵文字のチェックインを自動カウントし、気分パターンとリンクさせるため、手動での習慣記録はありません)。
私たちは、ユーザーのチェックイン時間の過去7日間の移動平均を曜日ごとに算出する軽量なcronジョブを構築しました。サーバーは固定の8:00 PMの通知ではなく、ユーザーがその特定の曜日に歴史的に最も反応しやすい正確な15分のウィンドウにプッシュ通知をスケジュールするようになりました。
また、これをiOS 27のAppleヘルスケア連携にも結びつけました。私たちのバックエンドが、ユーザーがすでに毎日のルーチンと一致する自動カテゴリ(睡眠や歩数など)を同期したことを検知した場合、通知を完全にキャンセルします。すでにやったとわかっていることを記録するように促す必要はあるでしょうか?
ユーザーが無料プラン(無制限の気分と絵文字の記録、3ヶ月のカレンダーアーカイブ、最大3個のルーチンが含まれます)であれ、月額$2.99のプレミアムプランであれ、この動的なアーキテクチャは彼らの注意に対して全く同じ敬意を払います。
AIに耐性のある通知ペイロードの作成
タイミングを正しくすることは戦いの半分に過ぎませんでした。私たちは依然として通知の要約に関する開発者UXに対処しなければなりませんでした。
Apple IntelligenceはAIモデルを使用して通知ペイロードを読み取り、要約を生成します。私たちは広範なA/Bテストを通じて、送信するテキストの「構造」が、AIがそれをどのように書き換えるかに直接影響を与えることを発見しました。
iOS 27以前の初期のペイロードは以下の通りでした:
> タイトル: 夜のチェックイン
> 本文: Clayeeが待っています!30秒かけて気分を記録し、今日がどんな一日だったか振り返りましょう。プレッシャーはありません、準備ができたときで大丈夫です。
Apple Intelligenceがこれを他のアプリと一緒に要約すると、次のように出力されました:
> 「ViviDiaryが気分を記録するように促しています。」
冷たい表現でした。サポートキャラクターであるClayeeの温かみが失われていました。まるで義務のように聞こえました。
私たちは3週間かけて、Apple Intelligenceのライティングツールへの適応で行った作業と同様に、さまざまな意味構造をテストしました。Appleの要約モデルは本文の最初の数単語を重視し、「ユーティリティ(実用性)」と「マーケティング」のどちらであるかを示す文脈の手がかりを探していることがわかりました。
非常に具体的でユーザー中心の文脈を提供することで、AIがトーンを平坦化するのを防げることを発見しました。私たちは一般的なプロンプトから、観察に基づいた動的なペイロードへと移行しました。
今日私たちが使用している成功したペイロード構造は以下の通りです:
> タイトル: 準備ができたら
> 本文: あなたは普段この時間に「読書」のルーチンを終えます。Clayeeが夜の絵文字を記録する場所を空けて待っています。
このペイロードには特定の変数(ユーザーの実際のルーチン名、文脈的な時間認識、低プレッシャーな言語)が含まれているため、Apple Intelligenceはそれをそのまま通過させるか、より穏やかに要約する傾向があります:
> 「ViviDiaryが、読書と絵文字記録のいつもの時間であることを伝えています。」
このアプローチは、AIによる質の低いコンテンツの防止に関する私たちの姿勢と完全に一致しています。私たちはAIを使って偽の共感を生み出すことはしません。正確なデータが入力された、人間が書いた正確なテンプレートを使用することで、AppleのAIがそれを読み取ったときに、高信号・低ノイズのアラートとして認識されるようにしています。
結果:エンゲージメントの向上、ノイズの減少
新しいプッシュ通知アーキテクチャとAI耐性のあるペイロードをiOSユーザーベースに展開したとき、指標は明確な物語を語っていました。
プッシュ通知の総配信数は38%減少しました。サーバーが冗長な通知をキャンセルし、最適なウィンドウを待機していたため、単純に通知数が減ったのです。
しかし、インタラクション率(通知をタップするか、配信から10分以内に気分を記録したユーザー)は、iOS 27以前のベースラインと比較して28%増加しました。
さらに重要なことに、通知のオプトアウト率(ユーザーが不快に感じてアラートを完全にオフにする指標)は、週あたり0.4%という過去最低を記録しました。
「緊急性の高い通知」の悪用を拒否し、代わりに非識別化されたデータを分析して適切な瞬間を見つけるという困難な作業を行うことで、私たちはApple Intelligenceが達成しようとしていること、つまり「ユーザーの集中力を守る」ことと完全に一致することができました。
次のステップ
現在、私たちは週次のミラー機能の通知を洗練させる方法を検討しています。現在、ミラーは毎週日曜日の朝にパターンのインサイトを配信しています。振り返りには最適な時間ですが、クラウドバックエンドがこれらのインサイトに対してさらに優れたパーソナライズされたウィンドウを特定できるかどうかを模索しています。例えば、ユーザーが週次の要約を確認するための感情的な余裕があることを保証するために、「最高」または「良い」という気分ログを検知するまで待機するなどです。
Apple Intelligenceは開発者の敵ではありません。怠慢な開発の敵です。すべてのピクセルと通知を正当化することを強制することで、iOS 27はViviDiaryをより良く、より静かで、より敬意を払ったコンパニオンにしてくれました。
それではまた。
Ethan



