Die tatsächlichen Grenzen für den Warnungstext sind nirgendwo dokumentiert. Das einzige, was in der Dokumentation steht, ist:
In iOS 8 und höher beträgt die maximal zulässige Größe für eine Benachrichtigungsnutzlast 2 Kilobyte. Der Apple Push Notification Service lehnt jede Benachrichtigung ab, die dieses Limit überschreitet. (Vor iOS 8 und unter OS X beträgt die maximale Nutzlast 256 Byte.)
Dies ist, was ich bei einigen Experimenten finden konnte.
- Warnungen: Vor iOS 7 betrug das Limit für die Anzeige von Warnungen 107 Zeichen. Größere Nachrichten wurden abgeschnitten und am Ende der angezeigten Nachricht wird ein "..." angezeigt. Mit iOS 7 scheint das Limit auf 235 Zeichen erhöht zu sein. Wenn Sie über 8 Zeilen gehen, wird Ihre Nachricht ebenfalls abgeschnitten.
- Banner: Banner werden um 62 Zeichen oder 2 Zeilen abgeschnitten.
- Benachrichtigungscenter: Die Nachrichten im Benachrichtigungscenter werden mit 110 Zeichen oder 4 Zeilen abgeschnitten.
- Sperrbildschirm: Entspricht einem Benachrichtigungscenter.
Nur zur Erinnerung hier eine sehr gute Anmerkung aus der offiziellen Dokumentation:
Bei Bedarf schneidet iOS Ihre Nachricht so ab, dass sie gut in jeden Benachrichtigungszustellungsstil passt. Für beste Ergebnisse sollten Sie Ihre Nachricht nicht abschneiden.
Es sollte 236 Bytes sein. Soweit ich weiß, gibt es keine Einschränkung für die Größe des Alarmtextes, sondern nur für die Gesamtgröße der Nutzdaten. Wenn also die Nutzlast minimal ist und nur die Warninformationen enthält, sollte sie folgendermaßen aussehen:
Das nimmt 20 Zeichen (20 Bytes) in Anspruch, so dass 236 Bytes in die Warnzeichenfolge eingefügt werden müssen. Bei ASCII sind das 236 Zeichen und bei UTF8 und UTF16 möglicherweise weniger.
quelle
Das Limit der erweiterten Formatbenachrichtigungen ist hier dokumentiert .
Es heißt ausdrücklich:
ascandroli behauptet oben, dass sie Nachrichten mit 1400 Zeichen senden konnten. Meine eigenen Tests mit dem neuen Benachrichtigungsformat haben ergeben, dass eine Nachricht abgelehnt wurde, die nur 1 Byte über dem 256-Byte-Limit liegt. Angesichts der Tatsache, dass die Dokumente in diesem Punkt sehr explizit sind, schlage ich vor, dass es sicherer ist, 256 zu verwenden, unabhängig davon, was Sie experimentell erreichen können, da es keine Garantie gibt, dass Apple es in Zukunft nicht auf 256 ändern wird.
Wenn Sie den Alarmtext selbst in die Gesamtnutzlastgröße von 256 einpassen können, wird er von iOS angezeigt. Sie kürzen die Nachricht, die in der Statusleiste angezeigt wird. Wenn Sie jedoch das Benachrichtigungscenter öffnen, ist die gesamte Nachricht dort. Es werden sogar Zeilenumbrüche gerendert
\n
.quelle
BEARBEITEN:
Aktualisierung der Antwort mit den neuesten Informationen
Die maximal zulässige Größe für eine Benachrichtigungsnutzlast hängt davon ab, welche Anbieter-API Sie verwenden.
Bei Verwendung der älteren Binärschnittstelle beträgt die maximale Nutzlastgröße 2 KB (2048 Byte).
Bei Verwendung der HTTP / 2-Provider-API beträgt die maximale Nutzlast 4 KB (4096 Byte). Für VoIP-Benachrichtigungen (Voice over Internet Protocol) beträgt die maximale Größe 5 KB (5120 Byte).
ALTE ANTWORT: Laut Apple Doc beträgt die Nutzlast für iOS 8 2 Kilobyte (2048 Byte) und 256 Byte für iOS 7 und früher. (Der Link wurde entfernt, da es sich um ein altes Dokument handelt und es jetzt defekt ist.)
Wenn Sie also nur Text senden, stehen Ihnen 2028 (iOS 8+) oder 236 (iOS 7-) Zeichen zur Verfügung.
Aber ich habe getestet und Sie können auch in Produktionskonfigurationen 2 Kilobyte an iOS 7-Geräte senden
quelle
Hier sind einige Screenshots (Banner, Alarm & Benachrichtigungscenter)
quelle
Für reguläre Remote-Benachrichtigungen beträgt die maximale Größe 4 KB (4096 Byte). https://developer.apple.com/library/content/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/CreatingtheNotificationPayload.html
### iOS Die Größenbeschränkung beträgt 256 Byte, aber seit der Einführung von iOS 8 wurde auf 2 KB geändert!https://forums.aws.amazon.com/ann.jspa?annID=2626
quelle
Laut WWDC 713_hd_whats_new_in_ios_notifications. Die vorherige Größenbeschränkung von 256 Byte für eine Push-Nutzlast wurde jetzt für iOS 8 auf 2 Kilobyte erhöht .
Quelle: http://asciiwwdc.com/2014/sessions/713?q=notification#1414.0
quelle
Apple Push lehnt eine Zeichenfolge aus verschiedenen Gründen ab. Ich habe verschiedene Szenarien für die Push-Übermittlung getestet, und dies war meine funktionierende Lösung (in Python):
quelle
Laut aktualisiertem Apple-Dokument (überprüfen Sie mein Antwortdatum):
quelle
Apple aktualisiert Doc:
Jede Remote-Benachrichtigung enthält eine Nutzlast. Die Nutzdaten enthalten Informationen darüber, wie das System den Benutzer benachrichtigen soll, sowie alle von Ihnen angegebenen benutzerdefinierten Daten. Die maximal zulässige Größe für eine Benachrichtigungsnutzlast hängt davon ab, welche Anbieter-API Sie verwenden. Bei Verwendung der HTTP / 2-Provider-API beträgt die maximale Nutzlastgröße 4096 Byte . Bei Verwendung der alten Binärschnittstelle beträgt die maximale Nutzlastgröße 2048 Byte. Der Apple Push Notification Service (APNs) lehnt jede Benachrichtigung ab, die die maximale Größe überschreitet.
quelle
siehe meinen Test hier
Ich konnte bis zu 33 chinesische Schriftzeichen und 13 Bytes benutzerdefinierte Werte senden.
quelle