Aby ukończyć zaakceptowaną odpowiedź. Testowałem to i wynik jest następujący:
Maksymalna długość ładunku wynosi 4096 bajtów. Jeśli używasz JSON, a wiadomość jest następująca:
{
"to" : "APA91bGbkLeRLD228BKYQy4syvAYd5ErYiHup5FzofY_8x5CNHmhMlB65CaCHj9ntm7zcMhzDEkd9vi6rxM89cRzPuDLPrlX8UgYExGQ3LmakGTKpkIS0CE9-9tinlIRLMiLoGKDn5jVvks0njvcGFPJSHBn23cd-A",
"data": {"a":"Some information. Only this part inside data counts as payload"}
}
Tylko część wiadomości, że liczy się jako ładunek jest częścią wewnątrz „danych”. Jest to prawdą, nawet jeśli wysyłasz na wiele urządzeń.
{
"registration_ids" : ["APA91bGbkLeRLD228BKYQy4syvAYd5ErYiHup5FzofY_8x5CNHmhMlB65CaCHj9ntm7zcMhzDEkd9vi6rxM89cRzPuDLPrlX8UgYExGQ3LmakGTKpkIS0CE9-9tinlIRLMiLoGKDn5jVvks0njvcGFPJSHBn23cd-A",
"APA91bGbkLeRLD228BKYQy4syvAYd5ErYiHup5FzofY_8x5CNHmhMlB65CaCHj9ntm7zcMhzDEkd9vi6rxM89cRzPuDLPrlX8UgYExGQ3LmakGTKpkIS0CE9-9tinlIRLMiLoGKDn5jVvks0njvcGFPJSHBn23cd-A"]
"data": {"a":"Some information. Only this part inside data counts as payload"}
}
. Nie jestem pewien. czy Google nie będzie liczyć identyfikatora registration_id w polu danych ładunku.no dokument refered.in skrzynka gcm znajduję wiadomość z ładunkiem podobnym do użytkownika: { "registration_id": "APA91bHun4MxP5egoKMwt2KZFBaFUH-1RYqx ...", "data": { "Nick": "Mario", "Tekst": "świetny mecz!", "Pokój": "PortugalVSDenmark", }, } – user1556497
W podanym przykładzie długość ładunku wynosi 4 + 5 + 4 + 12 + 4 + 16 (długości nazw pól i wartości). Możesz to sprawdzić samodzielnie, próbując zastąpić je jedną parą klucz/wartość, gdzie długość klucza + długość wartości = 4096. Zobaczysz, że wiadomość zostanie wysłana. Następnie możesz dodać pojedynczy znak i zobaczyć, że wiadomość zostanie odrzucona. Jedyne zastrzeżenie, o którym muszę wspomnieć, to to, że testowałem je tylko dla prostego formatu, a nie dla JSON, ale oczekuję, że zachowają się tak samo. – Eran