Berapa panjang maksimum teks peringatan dari pemberitahuan push iOS?
The dokumentasi menyatakan bahwa muatan pemberitahuan harus berada di bawah 256 byte secara total , tapi pasti harus ada batas karakter tertentu untuk teks peringatan.
sumber
Berapa panjang maksimum teks peringatan dari pemberitahuan push iOS?
The dokumentasi menyatakan bahwa muatan pemberitahuan harus berada di bawah 256 byte secara total , tapi pasti harus ada batas karakter tertentu untuk teks peringatan.
Batas nyata teks peringatan tidak didokumentasikan di mana pun. Satu-satunya dokumentasi mengatakan adalah:
Di iOS 8 dan yang lebih baru, ukuran maksimum yang diizinkan untuk muatan notifikasi adalah 2 kilobyte; Layanan Pemberitahuan Push Apple menolak pemberitahuan yang melebihi batas ini. (Sebelum iOS 8 dan di OS X, ukuran muatan maksimum adalah 256 byte.)
Inilah yang dapat saya temukan melakukan beberapa percobaan.
Sama seperti pengingat di sini adalah catatan yang sangat bagus dari dokumentasi resmi:
Jika perlu, iOS memotong pesan Anda sehingga cocok dengan setiap gaya pengiriman pemberitahuan; untuk hasil terbaik, Anda tidak boleh memotong pesan Anda.
Itu harus 236 byte. Tidak ada batasan ukuran teks peringatan sejauh yang saya tahu, tetapi hanya ukuran muatan total. Jadi mempertimbangkan jika payloadnya minimal dan hanya berisi informasi peringatan, seharusnya terlihat seperti:
Itu membutuhkan 20 karakter (20 byte), meninggalkan 236 byte untuk dimasukkan ke dalam string peringatan. Dengan ASCII yang terdiri dari 236 karakter, dan bisa lebih kecil dengan UTF8 dan UTF16.
sumber
Batas pemberitahuan format yang ditingkatkan didokumentasikan di sini .
Secara eksplisit menyatakan:
Ascandroli mengklaim di atas bahwa mereka dapat mengirim pesan dengan 1400 karakter. Pengujian saya sendiri dengan format pemberitahuan baru menunjukkan bahwa pesan hanya 1 byte di atas batas 256 byte ditolak. Mengingat bahwa dokumen sangat eksplisit tentang hal ini, saya sarankan lebih aman untuk menggunakan 256 terlepas dari apa yang dapat Anda capai secara eksperimental karena tidak ada jaminan Apple tidak akan mengubahnya ke 256 di masa mendatang.
Adapun teks peringatan itu sendiri, jika Anda bisa memasangnya dalam 256 ukuran payload total maka akan ditampilkan oleh iOS. Mereka memotong pesan yang muncul di bilah status, tetapi jika Anda membuka pusat notifikasi, seluruh pesan ada di sana. Bahkan membuat karakter baris baru
\n
.sumber
EDIT:
Memperbarui jawabannya dengan informasi terbaru
Ukuran maksimum yang diizinkan untuk muatan notifikasi tergantung pada API penyedia yang Anda gunakan.
Saat menggunakan antarmuka biner lawas, ukuran payload maksimum adalah 2KB (2048 bytes).
Saat menggunakan API penyedia HTTP / 2, ukuran muatan maksimum adalah 4KB (4096 byte). Untuk pemberitahuan Voice over Internet Protocol (VoIP), ukuran maksimum adalah 5KB (5120 byte)
JAWABAN TUA: Menurut dokumen Apple, payload untuk iOS 8 adalah 2 kilobyte (2048 byte) dan 256 byte untuk iOS 7 dan sebelumnya. (menghapus tautan karena itu adalah dokumen lama dan rusak sekarang)
Jadi, jika Anda hanya mengirim teks, Anda memiliki 2028 (iOS 8+) atau 236 (iOS 7-) karakter yang tersedia.
Tapi saya sudah menguji dan Anda dapat mengirim 2 kilobyte ke perangkat iOS 7 juga, bahkan dalam konfigurasi produksi
sumber
Inilah beberapa tangkapan layar (spanduk, lansiran, & pusat notifikasi)
sumber
Untuk pemberitahuan jarak jauh biasa, ukuran maksimum adalah 4KB (4096 byte) https://developer.apple.com/library/content/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/CreatingtheNotificationPayload.html
### iOS batas ukurannya adalah 256 byte, tetapi sejak diperkenalkannya iOS 8 telah berubah menjadi 2kb!https://forums.aws.amazon.com/ann.jspa?annID=2626
sumber
Menurut WWDC 713_hd_whats_new_in_ios_notifications. Batas ukuran sebelumnya 256 byte untuk payload push sekarang telah ditingkatkan menjadi 2 kilobyte untuk iOS 8.
Sumber: http://asciiwwdc.com/2014/sessions/713?q=notification#1414.0
sumber
Apple push akan menolak string karena berbagai alasan. Saya menguji berbagai skenario untuk pengiriman push, dan ini adalah perbaikan pekerjaan saya (dengan python):
sumber
Menurut dokumen Apple yang diperbarui (periksa tanggal jawab saya):
sumber
Apple Diperbarui Doc:
Setiap notifikasi jarak jauh termasuk muatan. Payload berisi informasi tentang bagaimana sistem harus memperingatkan pengguna serta data khusus yang Anda berikan. Ukuran maksimum yang diizinkan untuk muatan notifikasi tergantung pada API penyedia yang Anda gunakan. Saat menggunakan API penyedia HTTP / 2, ukuran payload maksimum adalah 4096 byte . Menggunakan antarmuka biner lama, ukuran muatan maksimum adalah 2048 byte. Layanan Pemberitahuan Push Apple (APNs) menolak setiap pemberitahuan yang melebihi ukuran maksimum.
sumber
lihat tes saya di sini
Saya bisa mengirim hingga 33 karakter Cina dan 13 byte nilai khusus.
sumber