このページでは、Cloud Messaging に関するトラブルシューティングのヘルプ情報と、よくある質問への回答を紹介します。
Notifications Composer と FCM の違いは何ですか?
Firebase Cloud Messaging は、クライアント SDK と HTTP サーバー プロトコルを介して包括的なメッセージング機能を提供します。より複雑なメッセージ要件があるデプロイの場合は、FCM の方が適しています。
Notifications Composer は、Firebase Cloud Messaging 上に構築された、軽量でサーバーレスのメッセージング ソリューションです。ユーザー フレンドリーなグラフィカル コンソールを備え、コード要件が軽減された Notifications Composer を使用してメッセージを簡単に送信することで、ユーザーへの再アプローチとユーザーの確保、アプリの成長促進、マーケティング キャンペーンのサポートを実現できます。
機能 |
|
Notifications Composer |
Cloud Messaging |
ターゲット |
単一のデバイス |
|
|
|
トピック(天気など)に登録されたクライアント |
|
|
|
事前定義されたユーザー セグメント(アプリ、バージョン、言語)のクライアント |
|
|
|
特定のアナリティクス ユーザーのクライアント |
|
|
|
デバイス グループのクライアント |
|
|
|
クライアントからサーバーへのアップストリーム |
|
|
メッセージの種類 |
最大 2 KB の通知 |
|
|
|
最大 4 KB のデータ メッセージ |
|
|
配信 |
即時 |
|
|
|
将来のクライアント デバイスの現地時間 |
|
|
アナリティクス |
組み込みの Notifications アナリティクスのデータ収集および目標到達プロセス アナリティクス |
|
|
FCM を使用する場合、他の Firebase サービスを使用する必要はありますか?
Firebase Cloud Messaging は、他の Firebase サービスを使用せずに、スタンドアロン コンポーネントとして使用できます。
対象のデバイスがメッセージを受信できないのはなぜですか?
デバイスがメッセージの受信に成功していないと考えられる場合は、まず次の 2 つの可能性を確認してください。
通知メッセージのフォアグラウンド メッセージ処理。クライアント アプリは、アプリがデバイスのフォアグラウンドで動作している場合、通知メッセージを処理するメッセージ処理ロジックを追加する必要があります。詳しくは、iOS と Android のドキュメントをご覧ください。
ネットワーク ファイアウォールの制限。インターネットとの間で送受信されるトラフィックを制限するファイアウォールが組織で使用されている場合、Firebase Cloud Messaging クライアント アプリがメッセージを受信できるようにするには、FCM との接続を許可するようにファイアウォールを構成する必要があります。次のポートを開きます。
通常、FCM は 5228 を使用しますが、5229 や 5230 を使用することもあります。FCM では特定の IP が提供されないので、Google の ASN 15169 にリストされた IP ブロックに含まれているすべての IP アドレスについて、発信接続を受け入れるようにファイアウォールを設定する必要があります。
Android アプリで onMessageReceived
が呼び出されないのはなぜですか?
アプリがバックグラウンドで動作している場合、システムトレイに通知メッセージが表示され、onMessageReceived
は呼び出されません。通知メッセージにデータ ペイロードがある場合、通知メッセージはシステムトレイに表示され、通知メッセージに含まれていたデータは、ユーザーが通知をタップしたときに起動するインテントから取得できます。
詳細については、メッセージの受信と処理をご覧ください。
FCM で登録すると、アプリが「Invalid argument for the given fid」を受け取るのはなぜですか?
FID(Firebase インストール ID)は、アプリ インスタンスの識別子です。アプリ インスタンスのインストール データがバックアップから復元された場合、FCM はこのエラーを返します。これは、FID が別のアプリ インスタンスによってすでに使用されているため、現在のアプリ インスタンスは FID を使用して FCM に登録できないことを示します。
アプリで次のことを行うことをおすすめします。
- バックアップから Firebase インストール データを除外します。Firebase インストール データは
PersistedInstallation....json
ファイルに保存されます。ファイル名はアプリの定数です(例: <exclude domain="file" path="PersistedInstallation....json"
/>
)。
- 「Invalid argument for the given fid」というエラーを受け取った場合は、
PersistedInstallation....json
ファイルを削除します。アプリが次回 FCM に登録されるときに、新しい FID が作成されます。
Apple は APNs 用のレガシー バイナリ プロトコルの非推奨を発表しました。何か対応が必要ですか?
いいえ。Firebase Cloud Messaging は 2017 年に HTTP/2 ベースの APN プロトコルに移行されました。FCM を使用して iOS デバイスに通知を送信する場合は、特に何もする必要はありません。
FCM の割り当てと上限
大規模な顧客ベースに 2 分以内に通知するにはどうすればよいですか?
このユースケースはサポートできません。トラフィックを 5 分間にわたって分散する必要があります。
アプリでユーザーにイベントについて通知しており、ビジネスモデルをサポートするためこれらのメッセージをすぐに配信する必要があります。割り当てを上げてもらうことはできますか?
残念ながら、このような理由で割り当ての増加を承認することはできません。トラフィックを 5 分間にわたって分散して、トラフィックの急増を回避する必要があります。
スケジュール設定されたイベントに関するメッセージを配信します。すべてのトラフィックを正時に送信するにはどうすればよいですか?
イベントの 5 分以上前に通知の送信を開始することをおすすめします。または、データ メッセージを送信し、onMessageReceived
ハンドラのプラットフォーム アナログを実装して、ローカル通知を事前にスケジュールします。
429 エラーは、独自に対処することや、企業で対処することが困難です。429 エラーを回避するために、免除や割り当て増加を申請できますか?
割り当て制限が厳しいと感じるお客様もいらっしゃると思いますが、割り当てはサービスの信頼性を維持するために不可欠であり、例外を認めることはできません。再試行を使用して、429 エラーを適切に処理します。
割り当て増加リクエストが承認されるまでにどのくらい時間がかかりますか?
割り当て増加のリクエストは、FCM の使用状況によって異なります。いずれの場合も、数営業日以内に回答いたします。場合によっては、FCM の使用方法やさまざまな状況についてやり取りが発生し、処理が長引くことがあります。すべての要件が満たされている場合、ほとんどのリクエストは 2 週間以内に処理されます。
一時的なイベントで割り当てを増やすことはできますか?
最大 1 か月間のイベントをサポートするために、追加の割り当てをリクエストできます。イベントの開始日と終了日を明記して、イベントの 1 か月以上前にリクエストを提出してください。FCM はリクエストに応えるよう現実的に可能な限り努力いたします。承認された場合、これらの割り当ての増加はイベントの終了日後に元に戻されます。
現在の割り当てが変更される可能性はありますか?
Google が軽率に変更することはありません。ただし、システムの完全性を保護するために必要に応じて割り当てを変更することはあります。このような変更があった場合は、可能な限り事前に通知します。Cloud MSA の連絡先を最新の状態に保つと、サービスに関するお知らせを受け取る可能性が高まります。