2013-03-24 11 views
12

Sto usando la libreria wrapper python APNS per inviare notifiche push. I documenti Apple dicono che il limite del payload su un messaggio è di 256 byte. Ma dal momento che più PN possono essere inviate in una richiesta, volevo sapere se esiste un limite al numero di messaggi consentiti nella stessa richiesta?iOS: quante notifiche push possono essere inviate in una singola richiesta?

Qual è il modo corretto di inviare un sacco (più di 1000) di notifiche push? Il server Apple limita le connessioni/sec o PN/sec per evitare lo spam?

+4

apple non limita le notifiche/sec. Nella mia esperienza è possibile inviare circa 2000 notifiche/sec in una connessione, che è vicino al limite fisico del server che ho usato. L'interfaccia è binaria, devi inviare una notifica alla volta. Quindi 1 notifica per richiesta, ma "illimitata" per connessione. –

+0

Stiamo parlando di quanti 'items' possono essere in un' frame'? - Terminologia APNS - https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/Chapters/CommunicatingWIthAPS.html - Anch'io sono curioso. –

risposta

10

Come ha detto Jonathan nel suo commento, Apple non specifica un limite nella documentazione APNS.

Poiché si inviano le notifiche come dati binari su una connessione TCP, il numero di notifiche che verrebbero inviate in una singola richiesta dipende dalla dimensione dei buffer TCP.

Non è necessario inviare una notifica per richiesta. Non sono sicuro che ci sia un significato anche per il termine singola richiesta in questo caso (poiché non restituiscono una risposta per ogni notifica inviata). Apple ti incoraggia a mantenere la connessione aperta il più a lungo possibile. Finché è aperto, puoi scrivere quanti più byte (appartenenti a più notifiche push) come desideri.

EDIT:

Apple ha recentemente modificato la loro technical note regarding push notifications:

Push Notification Throughput e controllo degli errori

ci sono tappi o limiti di dimensione dei lotti per l'utilizzo di APN. Il comunicato stampa iOS 6.1 ha dichiarato che gli APN hanno inviato oltre 4 trilioni di notifiche push da quando è stato stabilito. È stato annunciato al WWDC 2012 che gli APN inviano 7 miliardi di notifiche al giorno.

Se il throughput è inferiore a 9.000 notifiche al secondo, il server può trarre vantaggio da una migliore logica di gestione degli errori.

+0

nel mio caso sto usando il server eJabebrD e l'APNS configurato nel caso in cui l'utente sia offline. La mia domanda è Quanti messaggi il server APNS può bufferizzare. Anche come GCM fornisce message_type ma APNS non ha questo caso. Quindi sicuramente scarterà il messaggio di un altro tipo se il buffer si riempie. Destra ?? – CoDe