17

この質問はもともと Google Cloud Messaging (GCM) に関するものでしたが、現在は GCM に代わる新しい Firebase Cloud Messaging (FCM) にも当てはまります。

「通知」辞書が含まれている場合の GCM ペイロードのサイズを計算する方法を知りたいです。

Android 向けの Google Cloud Messaging サービスを試しています。ドキュメントの一部には、最大 4KB のデータを送信できると記載されていますが、ここでは「通知メッセージには最大 2KB のペイロードを含めることができます」と記載されています。

いくつかのテストを行うと、4KB のデータで満たされた「データ」ペイロードを含むメッセージを送信でき、サーバーは期待どおりにエラーなしでそれらを受け入れました。

ただし、「通知」ペイロードを使用すると、2KB を超えるデータを含むメッセージを送信でき、サーバーがエラーを返さないことがわかりました。そのようなメッセージは大きすぎると思っていました。

「通知」ペイロードは許可された 4KB を「データ」ペイロードと共有しますが、同じ方法ではないことがわかりました。「データ」ペイロードでは、キーと値のサイズを加算してサイズを計算できます。「通知」ペイロードは、含まれるキーと値のサイズよりも多くのスペースを占有します。

「通知」辞書が含まれている場合、ペイロードのサイズを事前に計算するにはどうすればよいですか?

4

6 に答える 6

0

また、ペイロード サイズが約 4 kb に近いことも実験しました。

サイズ 7kb のペイロードを送信しようとすると、メッセージが大きすぎるという応答でエラーが表示されました..

したがって、応答コードを解析して、ペイロードが Google サーバーによって受け入れられたかどうかを確認できます。

于 2015-07-07T18:39:36.993 に答える