Os limites reais para o texto de alerta não estão documentados em nenhum lugar. A única coisa que a documentação diz é:
No iOS 8 e posterior, o tamanho máximo permitido para uma carga de notificação é de 2 kilobytes; O Apple Push Notification Service recusa qualquer notificação que exceda esse limite. (Antes do iOS 8 e no OS X, o tamanho máximo da carga útil é de 256 bytes.)
Isto é o que eu pude encontrar fazendo alguns experimentos.
- Alertas: antes do iOS 7, o limite de exibição de alertas era de 107 caracteres. Mensagens maiores foram truncadas e você receberia um "..." no final da mensagem exibida. No iOS 7, o limite parece aumentar para 235 caracteres. Se você ultrapassar 8 linhas, sua mensagem também será truncada.
- Banners: os banners são truncados em torno de 62 caracteres ou 2 linhas.
- Centro de Notificação: As mensagens no centro de notificação são truncadas em torno de 110 caracteres ou 4 linhas.
- Tela de bloqueio: Igual a um centro de notificação.
Apenas como lembrete, aqui está uma nota muito boa da documentação oficial:
Se necessário, o iOS trunca sua mensagem para que ela se encaixe bem em cada estilo de entrega de notificação; para obter melhores resultados, você não deve truncar sua mensagem.
Deve ter 236 bytes. Não há restrições quanto ao tamanho do texto de alerta, tanto quanto eu sei, mas apenas o tamanho total da carga útil. Portanto, considerando se a carga útil é mínima e contém apenas as informações de alerta, deve se parecer com:
Isso ocupa 20 caracteres (20 bytes), deixando 236 bytes para colocar dentro da cadeia de alerta. Com o ASCII, serão 236 caracteres e podem ser menores com UTF8 e UTF16.
fonte
O limite das notificações de formato avançado está documentado aqui .
Ele afirma explicitamente:
ascandroli afirma acima que eles foram capazes de enviar mensagens com 1400 caracteres. Meu próprio teste com o novo formato de notificação mostrou que uma mensagem de apenas 1 byte acima do limite de 256 bytes foi rejeitada. Dado que os documentos são muito explícitos neste ponto, sugiro que seja mais seguro usar 256, independentemente do que você possa conseguir experimentalmente, pois não há garantia de que a Apple não o altere para 256 no futuro.
Quanto ao texto de alerta em si, se você pode ajustá-lo no tamanho total da carga útil de 256, ele será exibido pelo iOS. Eles truncam a mensagem que aparece na barra de status, mas se você abrir o centro de notificação, a mensagem inteira estará lá. Ele até renderiza caracteres de nova linha
\n
.fonte
EDITAR:
Atualizando a resposta com as informações mais recentes
O tamanho máximo permitido para uma carga de notificação depende de qual API do provedor você emprega.
Ao usar a interface binária herdada, o tamanho máximo da carga útil é de 2 KB (2048 bytes).
Ao usar a API do provedor HTTP / 2, o tamanho máximo da carga útil é de 4KB (4096 bytes). Para notificações de VoIP, o tamanho máximo é de 5 KB (5120 bytes)
RESPOSTA ANTIGA: De acordo com o documento da apple, a carga útil do iOS 8 é de 2 kilobytes (2048 bytes) e 256 bytes para o iOS 7 e versões anteriores. (removeu o link porque era um documento antigo e está quebrado agora)
Portanto, se você acabou de enviar texto, você tem 2028 (iOS 8+) ou 236 (iOS 7-) caracteres disponíveis.
Mas testei e você também pode enviar 2 kilobytes para dispositivos iOS 7, mesmo em configurações de produção
fonte
Aqui estão algumas capturas de tela (banner, alerta e centro de notificações)
fonte
Para notificações remotas regulares, o tamanho máximo é de 4KB (4096 bytes) https://developer.apple.com/library/content/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/CreatingtheNotificationPayload.html
### iOS, o limite de tamanho é de 256 bytes, mas desde a introdução do iOS 8 mudou para 2kb!https://forums.aws.amazon.com/ann.jspa?annID=2626
fonte
De acordo com o WWDC 713_hd_whats_new_in_ios_notifications. O limite de tamanho anterior de 256 bytes para uma carga útil de envio foi aumentado para 2 kilobytes no iOS 8.
Fonte: http://asciiwwdc.com/2014/sessions/713?q=notification#1414.0
fonte
O empurrão da Apple rejeitará uma string por vários motivos. Testei uma variedade de cenários para entrega por push, e esta foi minha correção de trabalho (em python):
fonte
De acordo com o documento Apple atualizado (verifique minha data de resposta):
fonte
Doc. Atualizado pela Apple:
Cada notificação remota inclui uma carga útil. A carga útil contém informações sobre como o sistema deve alertar o usuário, bem como quaisquer dados personalizados que você fornece. O tamanho máximo permitido para uma carga de notificação depende de qual API do provedor você emprega. Ao usar a API do provedor HTTP / 2, o tamanho máximo da carga útil é de 4096 bytes . Usando a interface binária herdada, o tamanho máximo da carga útil é de 2048 bytes. O serviço de notificação por push da Apple (APNs) recusa qualquer notificação que exceda o tamanho máximo.
fonte
veja meu teste aqui
Eu poderia enviar até 33 caracteres chineses e 13 bytes de valores personalizados.
fonte