Jaka jest maksymalna długość tekstu alertu powiadomienia push na iOS?
W dokumentacji stwierdza, że ładunek zgłoszenie musi być poniżej 256 bajtów w sumie , ale z pewnością nie musi być określony limit znaków dla tekstu alertu.
źródło
Jaka jest maksymalna długość tekstu alertu powiadomienia push na iOS?
W dokumentacji stwierdza, że ładunek zgłoszenie musi być poniżej 256 bajtów w sumie , ale z pewnością nie musi być określony limit znaków dla tekstu alertu.
Rzeczywiste ograniczenia tekstu ostrzeżenia nie są nigdzie udokumentowane. Jedyne, co mówi dokumentacja, to:
W systemie iOS 8 i nowszych maksymalny dozwolony rozmiar ładunku powiadomienia to 2 kilobajty; Usługa Apple Push Notification Service odrzuca wszelkie powiadomienia, które przekraczają ten limit. (Przed iOS 8 i OS X maksymalny rozmiar ładunku wynosi 256 bajtów).
Oto, co mogłem znaleźć podczas eksperymentów.
Dla przypomnienia, tutaj jest bardzo dobra notatka z oficjalnej dokumentacji:
W razie potrzeby iOS obcina wiadomość, aby dobrze pasowała do każdego stylu dostarczania powiadomień; aby uzyskać najlepsze wyniki, nie należy skracać wiadomości.
Powinien mieć 236 bajtów. O ile wiem, nie ma ograniczeń co do rozmiaru tekstu alertu, a jedynie całkowity rozmiar ładunku. Biorąc więc pod uwagę, czy ładunek jest minimalny i zawiera tylko informacje o alertach, powinien wyglądać następująco:
Zajmuje to 20 znaków (20 bajtów), pozostawiając 236 bajtów na umieszczenie w ciągu ostrzeżenia. W przypadku ASCII będzie to 236 znaków i może być mniej w przypadku UTF8 i UTF16.
źródło
Ograniczenie powiadomień o ulepszonym formacie jest udokumentowane tutaj .
Wyraźnie stwierdza:
ascandroli twierdzi powyżej , że był w stanie wysyłać wiadomości zawierające 1400 znaków. Moje własne testy z nowym formatem powiadomień wykazały, że wiadomość o 1 bajcie przekraczająca limit 256 bajtów została odrzucona. Biorąc pod uwagę, że dokumentacja jest bardzo wyraźna w tym punkcie, sugeruję, że bezpieczniej jest używać 256, niezależnie od tego, co możesz osiągnąć eksperymentalnie, ponieważ nie ma gwarancji, że Apple nie zmieni tego na 256 w przyszłości.
Jeśli chodzi o sam tekst alertu, jeśli zmieścisz go w 256 całkowitym rozmiarze ładunku, zostanie on wyświetlony przez iOS. Obcinają wiadomość, która pojawia się na pasku stanu, ale jeśli otworzysz centrum powiadomień, cała wiadomość jest tam. Renderuje nawet znaki nowej linii
\n
.źródło
EDYTOWAĆ:
Aktualizacja odpowiedzi o najnowsze informacje
Maksymalny dozwolony rozmiar ładunku powiadomienia zależy od używanego interfejsu API dostawcy.
W przypadku korzystania ze starszego interfejsu binarnego maksymalny rozmiar ładunku wynosi 2 KB (2048 bajtów).
W przypadku korzystania z interfejsu API dostawcy HTTP / 2 maksymalny rozmiar ładunku to 4 KB (4096 bajtów). W przypadku powiadomień Voice over Internet Protocol (VoIP) maksymalny rozmiar to 5 KB (5120 bajtów)
STARE ODPOWIEDŹ: Zgodnie z dokumentem Apple, ładunek dla iOS 8 wynosi 2 kilobajty (2048 bajtów) i 256 bajtów dla iOS 7 i wcześniejszych. (usunięto link, ponieważ był to stary dokument i teraz jest uszkodzony)
Więc jeśli wyślesz tylko tekst, masz dostępnych 2028 (iOS 8+) lub 236 (iOS 7-) znaków.
Ale przetestowałem i możesz wysłać 2 kilobajty również na urządzenia z iOS 7, nawet w konfiguracjach produkcyjnych
źródło
Oto kilka zrzutów ekranu (baner, alert i centrum powiadomień)
źródło
W przypadku zwykłych powiadomień zdalnych maksymalny rozmiar to 4KB (4096 bajtów) https://developer.apple.com/library/content/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/CreatingtheNotificationPayload.html
### iOS limit rozmiaru to 256 bajtów, ale od czasu wprowadzenia iOS 8 zmienił się na 2kb!https://forums.aws.amazon.com/ann.jspa?annID=2626
źródło
Według WWDC 713_hd_whats_new_in_ios_notifications. Poprzedni limit rozmiaru wynoszący 256 bajtów dla ładunku wypychanego został teraz zwiększony do 2 kilobajtów w systemie iOS 8.
Źródło: http://asciiwwdc.com/2014/sessions/713?q=notification#1414.0
źródło
Apple push odrzuci ciąg z różnych powodów. Przetestowałem różne scenariusze dostarczania wypychanego i to była moja poprawka robocza (w Pythonie):
źródło
Według zaktualizowanego dokumentu Apple (sprawdź moją datę odpowiedzi):
źródło
Zaktualizowany dokument Apple:
Każde zdalne powiadomienie zawiera ładunek. Ładunek zawiera informacje o tym, w jaki sposób system powinien ostrzegać użytkownika, a także wszelkie dostarczone przez Ciebie dane niestandardowe. Maksymalny dozwolony rozmiar ładunku powiadomienia zależy od używanego interfejsu API dostawcy. W przypadku korzystania z interfejsu API dostawcy HTTP / 2 maksymalny rozmiar ładunku wynosi 4096 bajtów . Korzystając ze starszego interfejsu binarnego, maksymalny rozmiar ładunku to 2048 bajtów. Usługa Apple Push Notification (APN) odrzuca wszelkie powiadomienia, które przekraczają maksymalny rozmiar.
źródło
zobacz mój test tutaj
Mogłem wysłać do 33 chińskich znaków i 13 bajtów wartości niestandardowych.
źródło