このドキュメントでは、メッセージ アプリが最適なスタート地点からクラス最高レベルに進化していく過程を示します。このドキュメントは、アプリの長期的なスケーリングと、実装する機能のタイミングについて検討する際に役立つように作成されています。メディアアプリはそれぞれ異なりますが、クラス最高のアプリを実現するために、次の推奨事項を検討してください。
基本的なメッセージ アプリ
基本的なメッセージ アプリは、ユーザーにテキストベースの基本的なコミュニケーション エクスペリエンスを提供します。これには次のようなものが含まれます。
オフライン メッセージのサポート
オフライン時にメッセージをキューに登録できるようにします。ローカル キャッシュ保存と再試行の戦略を立ててください。「送信中…」や「送信に失敗しました」などの UI キューは、ユーザーの期待値を管理するのに役立ちます。エラー処理
ネットワークの問題や受信者のブロックなど、さまざまなエラー シナリオに対して、明確で有益なフィードバックを提供します。ユーザーの不満を軽減するために、具体的な手順や説明を含めます。通知
メッセージがバックグラウンドで受信されたときに通知を提供します。- 通知に関する実行時の権限を使用する。
- 通知チャンネルの作成と管理をご覧ください。
Firebase Cloud Messaging(FCM)
Firebase Cloud Messaging を活用して、新しいメッセージをアプリに通知します。スペルチェック
アプリでスペルチェックを実装してアクセスする。共有
- Android Sharesheet を使用して、他のアプリやターゲットとデータやコンテンツを共有します。
- 他のアプリからデータやコンテンツを受信することをサポートします。
メッセージ アプリの改善
メッセージ アプリが改善されると、ユーザーはコミュニケーションや自己表現を強化するためのツールをさらに利用できるようになります。たとえば、次のような機能が追加されます。
絵文字
最新の絵文字をサポートします。インテントを使用したプッシュ通知
Firebase Cloud Messaging(FCM)でペイロードを使用して、通知から特定の会話やアプリのセクションにユーザーを誘導します。これにより、ユーザーが重要なコンテンツにアクセスするまでの手順が減ります。()スレッド形式の会話
グループ チャット内の特定のメッセージへの返信を実装して、会話のコンテキストと流れを維持します。この機能は、グループ コミュニケーションを整理してわかりやすくするために不可欠です。画像キーボード、ドラッグ&ドロップ、その他のリッチ コンテンツ
画像、動画、音声ファイルなどのリッチ コンテンツを受信します。この API には、画像キーボードのサポートと、ドラッグ&ドロップのターゲットとしてのサポートが含まれています。これにより、ユーザーはステッカーやアニメーションなどのメディアをメッセージに簡単に追加できます。また、アプリがドラッグ&ドロップのソースとして機能し、他のアプリとコンテンツを共有できることも確認してください。会話内の検索
会話内で全文検索を有効にすると、ユーザーはメッセージ、画像、リンク、ファイルをすばやく見つけることができます。日付、ユーザー、コンテンツの種類でフィルタして、効率的に検索できます。メディアとファイルのサポート
画像、動画、ドキュメントなどのファイルの送受信をシームレスにサポートし、インライン プレビューや、ダウンロードとアップロードのステータスを示す明確なインジケーターを提供します。通知
- ユーザーがアプリに慣れるまで通知権限の表示を待機します。可能であれば、ユーザー アクションから権限をトリガーします。
- 通知バッジに対応する。
- 通知でのダイレクト返信をサポートします。
- 通知チャンネルを慎重に使用します。通知チャンネルのカスタムの重要度レベルと通知動作を含めることもできます。
- 長期間有効なショートカットで会話の通知をサポートし、ユーザーがホーム画面にユーザーやグループのショートカットを追加できるようにします。
高度な Firebase Cloud Messaging(FCM)
データ ペイロードなどの高度な Firebase Cloud Messaging 機能を利用して、レイテンシと高コストのサーバー ラウンド トリップを最小限に抑えます。開封確認
ユーザーが開封確認の表示 / 非表示を管理できるオプションを提供します。たとえば、設定のシンプルな切り替えスイッチで、ユーザーがプライバシーを優先するか、確認を優先するかを選択できるようにします。
Best messaging app
最適なメッセージ アプリは、前述の推奨事項に基づいて、ユーザー向けのシームレスなマルチデバイス エクスペリエンスと、次のような高度な表現機能を備えています。
絵文字選択ツール
絵文字選択ツールをサポートします。ログインの簡素化
パスキーまたはフェデレーション ログインのいずれかを使用して、CredentialManager を使用して、サーフェス全体でシームレスな ID を実現します。エンドツーエンドの暗号化
業界標準の暗号化プロトコルを実装して、メッセージの安全性を確保し、意図した受信者のみがメッセージを読めるようにします。リッチ コンテンツを追加、編集する
共有時にテキスト プレビューにリッチ コンテンツを追加、編集します。デバイス間の同期
ユーザーが複数のデバイスで会話に一貫してアクセスできるようにし、スマートフォン、タブレット、パソコンのいずれを使用している場合でも、シームレスなコミュニケーションを実現します。Firebase Realtime Database を使用してチャットアプリを作成する Codelab をご覧ください。
メッセージのリアクション
ユーザーが絵文字やカスタム グラフィックでメッセージにリアクションできるようにします。メッセージを入力しなくても、すばやく楽しく返信できます。メッセージの編集と削除
ユーザーが送信後にメッセージを編集または削除できる期間を指定します。カスタマイズ可能な通知
会話ごとまたは連絡先ごとに、音、バイブレーション パターン、LED の色など、通知の詳細なカスタマイズ オプションを提供します。カスタム通知レイアウトを作成するをご覧ください。会話のバブル
会話のバブルをサポートします。ダイレクト シェア ターゲット
ダイレクト シェア ターゲットを提供して、アプリ内の連絡先と直接共有できるようにします。ソフトウェア キーボードをアニメーション化する
ソフトウェア キーボードを制御してアニメーション化するで、さらに磨きをかけましょう。音声とビデオチャット
高品質のリアルタイム音声とビデオのコミュニケーション機能を組み込みます。Jetpack Telecom ライブラリには、専用のフォアグラウンド サービス サポート、音声ルーティング、スマートフォン、スマートウォッチ、自動車などのデバイス間のクロスデバイス機能といった便利な機能が含まれています。また、WebRTC などのテクノロジーはピアツーピア接続を提供できます。Wear OS アプリ
Wear OS アプリを構築して、スマートウォッチから連絡を取り合えるようにします。