Los límites reales para el texto de alerta no están documentados en ninguna parte. Lo único que dice la documentación es:
En iOS 8 y versiones posteriores, el tamaño máximo permitido para una carga de notificación es de 2 kilobytes; Apple Push Notification Service rechaza cualquier notificación que exceda este límite. (Antes de iOS 8 y en OS X, el tamaño máximo de carga útil es de 256 bytes).
Esto es lo que pude encontrar haciendo algunos experimentos.
- Alertas: antes de iOS 7, el límite de visualización de alertas era de 107 caracteres. Los mensajes más grandes se truncaron y obtendría un "..." al final del mensaje que se muestra. Con iOS 7, el límite parece aumentar a 235 caracteres. Si pasa más de 8 líneas, su mensaje también se truncará.
- Pancartas: las pancartas se truncan alrededor de 62 caracteres o 2 líneas.
- Centro de notificaciones: los mensajes en el centro de notificaciones se truncan alrededor de 110 caracteres o 4 líneas.
- Pantalla de bloqueo: igual que un centro de notificaciones.
Solo como recordatorio aquí hay una muy buena nota de la documentación oficial:
Si es necesario, iOS trunca su mensaje para que se ajuste bien en cada estilo de entrega de notificaciones; Para obtener mejores resultados, no debe truncar su mensaje.
Debe ser de 236 bytes. Hasta donde yo sé, no hay restricciones en cuanto al tamaño del texto de alerta, sino solo el tamaño total de la carga útil. Por lo tanto, si la carga útil es mínima y solo contiene la información de alerta, debería verse así:
Eso ocupa 20 caracteres (20 bytes), dejando 236 bytes para poner dentro de la cadena de alerta. Con ASCII, tendrá 236 caracteres, y podría ser menor con UTF8 y UTF16.
fuente
El límite de las notificaciones de formato mejorado se documenta aquí .
Establece explícitamente:
ascandroli afirma anteriormente que pudieron enviar mensajes con 1400 caracteres. Mis propias pruebas con el nuevo formato de notificación mostraron que un mensaje de solo 1 byte por encima del límite de 256 byte fue rechazado. Dado que los documentos son muy explícitos en este punto, sugiero que sea más seguro usar 256 independientemente de lo que pueda lograr experimentalmente, ya que no hay garantía de que Apple no lo cambie a 256 en el futuro.
En cuanto al texto de alerta en sí, si puede ajustarlo en el tamaño de carga útil total de 256, iOS lo mostrará. Truncan el mensaje que aparece en la barra de estado, pero si abre el centro de notificaciones, el mensaje completo está allí. Incluso representa caracteres de nueva línea
\n
.fuente
EDITAR:
Actualizando la respuesta con la información más reciente
El tamaño máximo permitido para una carga de notificación depende de la API de proveedor que emplee.
Cuando se utiliza la interfaz binaria heredada, el tamaño máximo de carga útil es de 2 KB (2048 bytes).
Cuando se utiliza la API de proveedor HTTP / 2, el tamaño máximo de carga útil es 4KB (4096 bytes). Para las notificaciones de Voz sobre Protocolo de Internet (VoIP), el tamaño máximo es de 5 KB (5120 bytes)
ANTIGUA RESPUESTA: Según el documento de Apple, la carga útil para iOS 8 es de 2 kilobytes (2048 bytes) y 256 bytes para iOS 7 y anteriores. (eliminé el enlace porque era un documento antiguo y ahora está roto)
Entonces, si solo envía un mensaje de texto, tiene 2028 (iOS 8+) o 236 (iOS 7-) caracteres disponibles.
Pero lo he probado y también puedes enviar 2 kilobytes a dispositivos iOS 7, incluso en configuraciones de producción
fuente
Aquí hay algunas capturas de pantalla (banner, alerta y centro de notificaciones)
fuente
Para notificaciones remotas regulares, el tamaño máximo es 4KB (4096 bytes) https://developer.apple.com/library/content/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/CreatingtheNotificationPayload.html
### iOS, el límite de tamaño es de 256 bytes, ¡pero desde la introducción de iOS 8 ha cambiado a 2kb!https://forums.aws.amazon.com/ann.jspa?annID=2626
fuente
De acuerdo con la WWDC 713_hd_whats_new_in_ios_notifications. El límite de tamaño anterior de 256 bytes para una carga útil de inserción ahora se ha aumentado a 2 kilobytes para iOS 8.
Fuente: http://asciiwwdc.com/2014/sessions/713?q=notification#1414.0
fuente
Apple push rechazará una cadena por una variedad de razones. Probé una variedad de escenarios para la entrega push, y esta fue mi solución de trabajo (en python):
fuente
Según el documento actualizado de Apple (verifique mi fecha de respuesta):
fuente
Documento actualizado de Apple:
Cada notificación remota incluye una carga útil. La carga útil contiene información sobre cómo el sistema debe alertar al usuario, así como cualquier dato personalizado que proporcione. El tamaño máximo permitido para una carga de notificación depende de la API de proveedor que emplee. Cuando se utiliza la API de proveedor HTTP / 2, el tamaño máximo de carga útil es de 4096 bytes . Usando la interfaz binaria heredada, el tamaño máximo de carga útil es de 2048 bytes. El servicio de notificaciones push de Apple (APN) rechaza cualquier notificación que exceda el tamaño máximo.
fuente
mira mi prueba aquí
Podría enviar hasta 33 caracteres chinos y 13 bytes de valores personalizados.
fuente