「人」と「会話」の取り組みは、スマートフォンのシステム上で人と会話を強調することを目的とした Android の複数年にわたる取り組みです。人と会話を優先する理由は、他のユーザーとのコミュニケーションや対話が、あらゆるユーザー層にわたる大多数のユーザーにとって、依然として最も価値のある重要な機能分野であるからです。
Android 11 には、人と会話の取り組みをサポートするさまざまな機能が導入されました。
会話スペース

多くのスマートフォンで、通知シェードの一番上に別個のセクションが設けられ、人とのリアルタイムの会話だけが表示されます(グループ チャットを含む、通話やチャット メッセージなど)。多くのスマートフォンで、このスペース内の通知は、会話以外の通知とは表示や動作が異なります。
- 他とは異なるデザインで、会話を管理するアプリに参加している人を表すアバターが強調されて表示されます。
- 通知をタップすると、アプリ(前にバブルで表示されていた会話の場合は、バブル)に会話が表示されます。カーソルをタップすると、新着メッセージがシェード内に最大限展開され、オプションがすべて表示されます。
- 会話固有の操作が提供されます(長押しが必要なものもあります)。
- この会話を優先としてマークする
- この会話をバブルにする(アプリがバブルに対応している場合のみ表示される)
- この会話の通知をミュートする
- この会話にカスタムの音やバイブレーションを設定する
バブルでの会話

Android 11 以降、会話セクションの通知からバブルを開始できるようになりました。ショートカットに関連付けられている通知のみをバブルに表示できます。重要としてマークされた会話、または通知シェード内でバブルとしてトリガーされた会話は自動的にバブルになります。
会話ショートカット
会話へのショートカットがランチャーに表示され、システム共有シートの長期の共有ショートカットもともに表示されます。
API ガイドライン
ここでは、人と会話が表示されるシステム提供スペース向けのサポートをアプリに追加するための API について説明します。
会話へのショートカット
この会話中心の取り組みに参加するには、アプリからシステムに長期のショートカットを提供する必要があります。長期の共有ショートカットを使用することを強くおすすめします。Android 11 では必要に応じて動的ショートカットを使用できますが、今後、このオプションは削除される可能性があります。
会話へのショートカットを公開するには、ShortcutManager
の既存のメソッドのうち、setDynamicShortcuts()
、addDynamicShortcuts()
、pushDynamicShortcut()
のいずれかを呼び出します(デベロッパーのためにショートカットの制限を自動的に管理します)。このショートカットは長期間保持され、会話の相手を識別する 1 人以上の人の Person
データがアタッチされている必要があります。また、ショートカットに LocusId
を設定し、アプリ内のアクティビティとフラグメントにその LocusId
のアノテーションを付けることをおすすめします。これにより、アプリの使用方法に応じて、システムが会話を正確にランク付けできます。
会話が終わったら、アプリは removeLongLivedShortcuts()
を使ってショートカットを削除できます。これにより、その会話に関連付けられたすべてのデータが削除されます。ショートカットは削除可能ですが、絶対に削除する必要がある場合を除き、キャッシュに保存されたショートカットは削除しないでください。ショートカットがキャッシュに保存されるのは、おそらくユーザーが設定を変更する操作を行ったためであり、ショートカットを削除するとその変更が元に戻るので、ユーザーの不満を招きます。
会話の通知
次の条件に該当する場合、通知は会話の通知と見なされます。
通知で
MessagingStyle
が使用されている。(アプリが Android 11 以上をターゲットとする場合のみ)有効な長期の動的ショートカットまたはキャッシュに保存された共有ショートカットに通知が関連付けられている。通知でこの関連付けを設定するには、
setShortcutId()
またはsetShortcutInfo()
を呼び出します。Android 10 以前をターゲットとするアプリの場合、フォールバック オプションのセクションで説明したように、通知にショートカットを関連付ける必要はありません。ユーザーが投稿時に、通知チャンネルの設定で会話セクションから会話の順位を下げていない。
LocusId を使用してアプリ内の会話のランク付けをサポートする
デバイス上の高度な機能によって、ユーザーが関心を持つ可能性が高い会話が判定されます。最も重要なシグナルには、各会話におけるセッションの「新しさ」と「頻度」があります。適切にタグ付けされていれば、ランチャーのショートカットからの会話や通知内での会話に対する操作を、システムが認識できます。ただし、完全にアプリ内で発生した会話の場合、それに対する操作についてもタグ付けされていない限り、システムは認識できません。そのため、LocusId
をショートカットにアタッチし、アプリ内アクティビティまたはフラグメントに、関連する LocusId
のアノテーションを付けることを強くおすすめします。LocusId
を使用すると、候補を提示するシステムが会話を適切にランク付けできます。setShortcutInfo()
を使用して会話にショートカットを関連付けると、会話システムが自動的に適切な LocusId
をアタッチします。
Android 10 以下をターゲットとするアプリの会話スペースの要件
Android 11 をターゲットとしないアプリの場合でも、アプリのメッセージは会話スペースに表示されることがあります。ただし、アプリは特定の要件を満たす必要があります。このセクションでは、こうしたアプリの要件と、アプリが要件を満たしていない場合のフォールバック動作について説明します。
メッセージ スペースに参加するための主要な要件は、アプリが MessagingStyle
通知を実装することと、通知の投稿時に公開される通知の長期のショートカットをその通知が参照することです。これらの要件を満たす会話は、以下のように会話スペースに表示されます。
- 通知は会話スタイルで表示されます
- 実装されている場合はバブルボタンが提供されます
- 会話固有の機能がインラインで提供されます
通知が上記の要件を満たしていない場合、プラットフォームはフォールバック オプションを使用して通知をフォーマットします。フォールバックのどちらかの要件を満たす通知は、会話スペースに特別なフォーマットで表示されます。フォールバック オプションのどちらにも適合しない通知は、会話スペースに表示されません。
フォールバック: MessagingStyle が使用されているが、ショートカットが提供されていない場合
Android 10 以下をターゲットとしているアプリで、通知が MessagingStyle
を使用していても、メッセージがショートカットに関連付けられていない場合、通知は会話スペースに以下のように表示されます。
- 通知は会話スタイルで表示されます
- 提供されるバブルボタンはありません
- インラインで提供される会話固有の機能はありません
フォールバック: MessagingStyle が使用されていないが、アプリがメッセージ アプリと認識されている場合
通知が MessagingStyle
を使用していなくても、アプリがメッセージ アプリとしてプラットフォームに認識されており、通知の category
パラメータが msg
に設定されている場合、通知は以下のように会話スペースに表示されます。
- 通知は Android 11 より前の古いスタイルで表示されます
- 提供されるバブルボタンはありません
- インラインで提供される会話固有の機能はありません
ガイダンス、使用方法、テスト
このセクションでは、会話機能の使用方法とテスト方法に関する一般的なガイダンスを示します。
会話を使用するタイミング
会話の通知と関連ショートカットの目的は、リアルタイムの会話のユーザー エクスペリエンスを向上させることです。たとえば、SMS、テキスト チャット、通話は、ユーザーがすぐにコミュニケーションをとることができるリアルタイムの会話です。ユーザーは、会話に関係のないメールやアクティビティは期待していません。
ユーザーが適切な場所にないと感じた会話を、会話セクションから削除する機能を Google は提供しています。
優れたショートカットの提供
Android 11 以上をターゲットとするアプリで、通知を会話スペースに表示するには、ショートカットを提供する必要があります。ショートカットのアイコンには AdaptiveIconDrawable
を指定します。指定しないと、ショートカットのアバターが意図に反してクリップされることがあります。詳しくは、ショートカット画像を提供するをご覧ください。
共有ショートカットの場合は、システム共有シートなど、さまざまなシステム サーフェスでランク付けされます。詳しくは、最高のランキングを取得し、システムでショートカットの順位を上げる方法についての説明をご覧ください。
会話の通知とショートカットのテスト

会話スペースのガイドラインを遵守していれば、会話は自動的に会話スペースに表示されます。通知を長押しすると、ショートカットが正しく統合されているかどうかを確認できます。適切に統合されていると、UI に会話に関連する操作が表示されます。通知がショートカットにリンクされていない場合、アプリが会話機能をサポートしていないというメッセージが UI に表示されます。
追加されているショートカットは、アプリ ランチャーで長押しすると表示されます。ショートカットからアプリ内の正しい場所に移動できるかどうか確認してください。
追加されている共有ショートカットは、共有ショートカットが受け取ることができるコンテンツを共有したときに、システム共有シートの直接共有の行に表示されます。