48

更新: GCMは非推奨です。FCMを使用してください

GCMサーバーによって発行される登録IDの最大長はどれくらいですか?GCMのドキュメントには、この情報は記載されていません。これをグーグルで検索すると、登録IDは本質的に固定長ではなく、最大4K(4096バイト)の長さになる可能性があることがわかります。しかし、これらはGoogleからの公式の回答ではありません。現在、162文字の登録IDを受け取っています。誰か助けてもらえますか?

4

3 に答える 3

42

android-gcmフォーラムで、Googleの開発者が4Kであることを確認しました

于 2012-11-29T10:04:18.243 に答える
21

これについても知りたいです。私のregidサイズは183文字です。4Kは言うまでもなく、512文字より長くなることはないと思います。一括通知の送信を想像してみてください。4K登録IDx1000=4MBのメッセージサイズです。

最後に、MySQLテーブルの「text」タイプを使用して登録IDを保存します。したがって、グーグルが私に1K、2K、または4K(非常にまれな)reg idを送信したとしても、私はそれを処理することができます。

更新:新しいreg idサイズ:205に遭遇しました。

于 2012-07-26T14:52:17.650 に答える
0

これはGCMドキュメントで述べていることです。

フィールドがメッセージのペイロードデータのキーと値のペアを表すJSONオブジェクト。存在する場合、ペイロードデータはアプリケーションデータとしてインテントに含まれ、キーはエクストラの名前になります。たとえば、 "data":{"score": "3x1"}は、値が文字列3x1である意図的な追加の名前付きスコアになります。

メッセージの合計サイズ(4kb)には制限がありますが、キーと値のペアの数に制限はありません。値は任意のJSONオブジェクトにすることができますが、値はGCMサーバーで文字列に変換されるため、文字列を使用することをお勧めします。

オブジェクトまたはその他の非文字列データ型(整数やブール値など)を含める場合は、自分で文字列に変換する必要があります。また、キーを予​​約語(fromまたはgoogleで始まる単語)にすることはできないことに注意してください。

少し複雑にするために、ペイロードデータで技術的に許可されている予約語(collapse_keyなど)がいくつかあります。ただし、リクエストに単語が含まれている場合、リクエストの値はペイロードデータの値を上書きします。したがって、技術的に許可されている場合でも、この表でフィールド名として定義されている単語を使用することはお勧めしません。オプション。

于 2013-03-29T09:17:56.253 に答える