Qual è la lunghezza massima di un Push di Notifica di avviso di testo?

Qual è la lunghezza massima del testo dell’avviso di notifica push iOS?

Il documentazione stati che il payload di notifica deve essere sotto i 256 byte in totale, ma sicuramente ci deve essere uno specifico limite di caratteri per il testo dell’avviso.

InformationsquelleAutor hpique | 2011-06-10

 

11 Replies
  1. 238

    I limiti reali per il testo dell’avviso non sono documentato.
    L’unica cosa che la la documentazione dice è:

    In iOS 8 e versioni successive, la dimensione massima consentita per un payload di notifica è di 2 kilobyte; servizio di Notifiche Push Apple rifiuta qualsiasi tipo di notifica che supera questo limite. (Prima di iOS 8 e OS X, il carico utile massimo la dimensione è di 256 byte.)

    Questo è quello che ho potuto trovare facendo alcuni esperimenti.

    • Avvisi: Prima di iOS 7 avvisi di visualizzazione del limite di 107 caratteri. Più messaggi sono stati troncati, e si dovrebbe ottenere un “…” alla fine del messaggio visualizzato. Con iOS 7 il limite sembra essere aumentata a 235 caratteri. Se vai su 8 righe del tuo messaggio anche ottenere troncata.
    • Banner: Banner ottenere troncato (circa il 62 caratteri o 2 linee.
    • Centro notifiche: I messaggi nel centro notifiche ottenere troncato di circa 110 caratteri o 4 righe.
    • Schermata di blocco: Stesso come il centro di notifica.

    È solo un promemoria qui è una nota molto buono dalla documentazione ufficiale:

    Se necessario, iOS tronca il tuo messaggio in modo che si adatta bene in ogni notifica di consegna di stile; per ottenere i migliori risultati, si dovrebbe troncare il tuo messaggio.

    • Dovrebbe essere chiarito che in-app UIAlertView non ha alcun limite di visualizzazione; testo su una certa lunghezza andrà in una scroll view. Un SMS o una spinta avviso, probabilmente, è che 107-limite di caratteri, tuttavia.
    • E il testo visualizzato non è limitato dal payload, perché quando si utilizza la localizzazione metodo non è più corrispondenza 1:1. Payload può essere breve messaggio finale potrebbe essere molto più lungo. La domanda è sulla visualizzazione di un messaggio non è strettamente correlato con il payload lunghezza massima.
    • Mi potrebbe inviare un enorme carico utile per la sandbox e sarebbe consegnato, ma il server di produzione è molto restrittiva a soli 256 byte e non un byte in più.
    • qualcuno può dire a GCM Android push notifica display lunghezza del testo ?
    • avviso di dimensione è vero. Ma come questo il senso in cui apple dicendo per il VOIP è aumentata di 5KB. Come questo può essere utilizzato. Ancora troncare dimensioni payload se andando al di là di ~1KB. Qualche suggerimento ?
    • Grazie! È eccellente spiegazione.
    • 1. Per il Voice over Internet Protocol (VoIP), le notifiche, la capacità massima di carico di dimensioni è di 5 KB (5120 byte). 2. Per tutte le altre notifiche remote, il carico utile massimo la dimensione è di 4 KB (4096 byte).

  2. 26

    Dovrebbe essere 236 byte. Non vi è alcuna limitazione sulla dimensione del testo dell’avviso per quanto ne so io, ma solo il payload totale la dimensione. Quindi, prendere in considerazione se il carico è minimo e solo contiene le informazioni dell’avviso, dovrebbe apparire come:

    {"aps":{"alert":""}}

    Che occupa fino a 20 caratteri (20 byte), lasciando 236 byte per mettere dentro l’avviso di stringa. Con ASCII che sarà 236 caratteri, e potrebbe essere minore con UTF8 e UTF16.

    • La codifica ASCII viola JSON spec, che richiede la codifica UTF-8, UTF-16LE, UTF-16BE, UTF-32LE, o UTF-32BE. Vedere ietf.org/rfc/rfc4627.txt; pagina 4.
    • ASCII è un sottoinsieme di UTF-8, quindi è sempre sicuro per la trasmissione ASCII a 8 bit sopra il filo.
    • solo per curiosità, perché hai citato quindi dovrebbe essere 236 byte. ..sto correndo con truncate problema..se io conto totale char lunghezza non superiore di più quindi 1024 char, troncare messaggio di avviso char lunghezza è di 509 sto ricevendo. Che cosa potrebbe essere possibile motivo di troncare risposta. Qualsiasi suggerimento !!
  3. 15

    Il limite di rafforzamento del formato delle notifiche è documentato qui.

    È indicato in modo esplicito:

    Il payload non deve superare i 256 byte e non deve essere null-terminated.

    ascandroli crediti sopra che sono stati in grado di inviare messaggi con 1400 caratteri. Il mio test con la nuova notifica formato ha dimostrato che un messaggio a solo 1 byte più di 256 byte limite è stato respinto. Dato che i documenti sono molto esplicito su questo punto, mi suggeriscono che è più sicuro usare 256 indipendentemente da quello che potrebbe essere in grado di ottenere sperimentalmente come non vi è alcuna garanzia Apple non lo modifica a 256 in futuro.

    Come per il testo dell’avviso stesso, se si può rientrare in 256 totale dimensioni payload sarà mostrata da iOS. Essi troncare il messaggio che viene visualizzato sulla barra di stato, ma se si apre il centro notifiche, l’intero messaggio c’è. Anche il rendering di caratteri di nuova riga \n.

  4. 11

    EDIT:

    Aggiornamento la risposta con le ultime informazioni

    La dimensione massima consentita per la notifica e la capacità di carico dipende dal provider API si impiegano.

    Quando si utilizza l’eredità interfaccia binaria, capacità massima di carico di dimensioni è 2KB (2048 bytes).

    Quando si utilizza il protocollo HTTP/2 provider API, capacità massima di carico di dimensioni è di 4KB (4096 byte).
    Per il Voice over Internet Protocol (VoIP), le notifiche, la dimensione massima è di 5 kb (5120 byte)

    VECCHIA RISPOSTA:
    Secondo la apple doc payload per iOS 8 è 2 kilobyte (2048 bytes) e 256 byte per iOS 7 e precedenti. (rimosso il link in quanto si trattava di un vecchio doc e si è rotto ora)

    Quindi, se si invia il testo 2028 (iOS 8+) o 236 (iOS 7-) caratteri disponibili.

    Il Payload Di Notifica

    Ogni notifica remota include un payload. Il payload contiene
    informazioni su come il sistema dovrebbe avvisare l’utente, nonché qualsiasi
    custom dati da lei forniti. In iOS 8 e versioni successive, la dimensione massima consentita
    per un payload di notifica è di 2 kilobyte; di Notifica Push di Apple
    servizio rifiuta qualsiasi tipo di notifica che supera questo limite. (Prima
    iOS 8 e OS X, il carico utile massimo la dimensione è di 256 byte.)

    Ma ho provato e si può inviare 2 kilobyte per iOS 7 dispositivi, anche nella produzione di configurazioni

    • Cari downvoter, se si downvote a causa dei link rotti, tutte le informazioni di cui è già qui ed è giusto, i link sono solo per riferimento. Inoltre, è bene commentare perché si donwvoted.
  5. 7

    Per regolare le notifiche remote, la dimensione massima è 4KB (4096 byte)
    https://developer.apple.com/library/content/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/CreatingtheNotificationPayload.html

    ###iOS il limite di dimensione è di 256 byte, ma dal momento che l’introduzione di iOS 8 è cambiato a 2kb!

    https://forums.aws.amazon.com/ann.jspa?annID=2626

    Con iOS 8, Apple ha introdotto nuove funzionalità che consentono di alcune nuove
    i casi d’uso per il cellulare notifiche push — interattivo push
    le notifiche, widget di terze parti, e più grande (2 KB) payload. Oggi,
    siamo lieti di annunciare il supporto per il nuovo mobile push
    capacità annunciato con iOS 8. Abbiamo pubblicato un nuovo iOS 8
    Applicazione di esempio che dimostra come queste nuove funzionalità possono essere implementate
    con SNS, e hanno anche implementato il supporto per i più grandi 2KB payload.

  6. 5

    Secondo il WWDC 713_hd_whats_new_in_ios_notifications. Il precedente limite di dimensione di 256 byte per un push payload ora è stato aumentato a 2 kilobyte per iOS 8.

    Fonte:
    http://asciiwwdc.com/2014/sessions/713?q=notification#1414.0

    • Scusate, non riesco a trovare una nota ufficiale, su questo punto, ma è stato annunciato ufficialmente durante l’ultimo WWDC. Anche Urbano Dirigibile annonced it : urbanairship.com/blog/2014/07/02/…
    • Ecco le diapositive/video, se qualcuno vuole una mela link: developer.apple.com/videos/wwdc/2014 – Ricerca “Cosa c’è di Nuovo in iOS Notifiche”
    • Che è OK. Fuori sincronia con i commenti, ho cancellato il mio commento quando ho trovato la fonte. Se si scarica il PDF a pagina 82.
    • quindi, se l’app supporta ancora il targeting per iOS 7, sarà la 2kB limite di dimensione applicano anche alle notifiche push inviare a iOS 7 dispositivi? O la domanda è: è il nuovo 2kB per tutte le notifiche push, non importa quale piattaforma di destinazione per?
    • Possiamo ottimisticamente penso che il nuovo limite di dimensione sarà applicato per ogni piattaforma.
    • Io ancora non in grado di ricevere payload dimensione che è anche meno di 2KB. Come questo ha senso quando Apple dicono che è aumentato a 5KB per il VOIP. Qualche suggerimento ?

  7. 1

    Push di Apple si rifiuta una stringa per una serie di motivi. Ho provato una varietà di scenari per spingere la consegna, e questo è stato il mio lavoro di correzione (in python):

    #  Apple rejects push payloads > 256 bytes (truncate msg to < 120 bytes to be safe)
    if len(push_str) > 120:
        push_str = push_str[0:120-3] + '...'
    
    # Apple push rejects all quotes, remove them
    import re
    push_str = re.sub("[\"']", '', push_str)
    
    # Apple push needs to newlines escaped
    import MySQLdb
    push_str = MySQLdb.escape_string(push_str)
    
    # send it
    import APNSWrapper
    wrapper = APNSWrapper.APNSNotificationWrapper(certificate=...)
    message = APNSWrapper.APNSNotification()
    message.token(...)
    message.badge(1)
    message.alert(push_str)
    message.sound("default")
    wrapper.append(message)
    wrapper.notify()
    • Grazie. Penso che l’importante è il ragionamento che sta dietro a 120, anche se – come si arriva a quel numero? Sarebbe meglio fare la lunghezza di troncamento dopo le citazioni e gli a capo, però, dal momento che una migliore rappresentazione della lunghezza della stringa finale come inviati ad Apple?
    • Grazie per il tuo commento sulla rimozione di tutte le citazioni, su iOS 11 è uno strano bug dove suona il messaggio ma non mostra nulla.
  8. 1

    Secondo aggiornamento documento Apple (controllare la mia risposta data):

    “… Quando si utilizza il protocollo HTTP/2 provider API, capacità massima di carico di dimensioni è di 4096
    byte. Utilizzando i binari esistenti, interfaccia, portata massima dimensione di 2048
    byte. Apple Push Notification service (Apn) rifiuta qualsiasi tipo di notifica
    che supera la dimensione massima.”

  9. 1

    Apple Aggiornati Doc:

    Ogni notifica remota include un payload. Il payload contiene informazioni su come il sistema dovrebbe avvisare l’utente, nonché tutti i dati personalizzati da voi fornite. La dimensione massima consentita per la notifica e la capacità di carico dipende dal provider API si impiegano. Quando si utilizza il protocollo HTTP/2 provider API, capacità massima di carico di dimensioni è di 4096 byte. Utilizzando il binari esistenti, interfaccia, portata massima dimensione di 2048 byte. Apple Push Notification service (Apn) rifiuta qualsiasi tipo di notifica che supera la dimensione massima.

Lascia un commento