Android GCM ドキュメントでは、ペイロードは最大 4096 バイトの制限であると記載されています。
ペイロードの 4096 バイトには、registration_id の長さが含まれていますか? ペイロードが 16038 バイト (registration_id を含む) のメッセージを送信できることがわかりました。
Android GCM ドキュメントでは、ペイロードは最大 4096 バイトの制限であると記載されています。
ペイロードの 4096 バイトには、registration_id の長さが含まれていますか? ペイロードが 16038 バイト (registration_id を含む) のメッセージを送信できることがわかりました。
登録 ID は含まれません。
補足資料を提供できなくて申し訳ありません。GCM のドキュメントには明確に記載されていません。ただし、この動作を確認するためにテストしました。私が提供できる唯一の「証拠」は、マルチキャスト メッセージに最大 1000 の登録 ID を含めることができるということです。1000 の登録 ID は明らかに、ペイロードの 4096 バイトに収まりません。
http://developer.android.com/google/gcm/gcm.htmlから:
登録ID
メッセージを受信するデバイス (登録 ID) のリストを含む文字列配列。少なくとも 1 つ、最大で 1000 の登録 ID が含まれている必要があります。マルチキャスト メッセージを送信するには、JSON を使用する必要があります。1 つのメッセージを 1 つのデバイスに送信するには、登録 ID が 1 つだけの JSON オブジェクトまたはプレーン テキストを使用できます (以下を参照)。必須。
受け入れられた回答を完成させる。私はこれをテストしており、結果は次のとおりです。
ペイロードの最大長は 4096 バイトです。JSON を使用している場合、メッセージは次のようになります。
{
"to" : "APA91bGbkLeRLD228BKYQy4syvAYd5ErYiHup5FzofY_8x5CNHmhMlB65CaCHj9ntm7zcMhzDEkd9vi6rxM89cRzPuDLPrlX8UgYExGQ3LmakGTKpkIS0CE9-9tinlIRLMiLoGKDn5jVvks0njvcGFPJSHBn23cd-A",
"data": {"a":"Some information. Only this part inside data counts as payload"}
}
ペイロードとしてカウントされるメッセージの唯一の部分は、「データ」内の部分です。これは、複数のデバイスに送信している場合でも当てはまります。
{
"registration_ids" : ["APA91bGbkLeRLD228BKYQy4syvAYd5ErYiHup5FzofY_8x5CNHmhMlB65CaCHj9ntm7zcMhzDEkd9vi6rxM89cRzPuDLPrlX8UgYExGQ3LmakGTKpkIS0CE9-9tinlIRLMiLoGKDn5jVvks0njvcGFPJSHBn23cd-A",
"APA91bGbkLeRLD228BKYQy4syvAYd5ErYiHup5FzofY_8x5CNHmhMlB65CaCHj9ntm7zcMhzDEkd9vi6rxM89cRzPuDLPrlX8UgYExGQ3LmakGTKpkIS0CE9-9tinlIRLMiLoGKDn5jVvks0njvcGFPJSHBn23cd-A"]
"data": {"a":"Some information. Only this part inside data counts as payload"}
}