¿Cómo detecta WhatsApp si se entrega un mensaje sin abrir la aplicación en iOS?

Creo que cuando se envía la notificación del mensaje a los servidores de Apple para su entrega, se realiza la segunda verificación, por lo que podría no ser realmente inmediato y sin garantía de llegar a su destino. La actualización en segundo plano no puede estar involucrada porque las versiones anteriores si iOS no lo admitía, también la aplicación podría no estar en segundo plano mientras se produce la entrega. Normalmente, la aplicación recibirá la notificación de un nuevo mensaje, pero hasta que no se abra, no actualizará el hilo de mensajes de chat.

Por supuesto, el proceso podría ser más complicado de lo que pensamos. Y también podría haber cambiado a través de los años. Sospecho que la aplicación confirma si la aplicación recibió el mensaje en versiones posteriores o si la aplicación está abierta y, en consecuencia, una sesión del lado del servidor está abierta en el momento en que aparece el mensaje.

Después de recibir una notificación push, el receptor puede descargar datos de una URL que incluya en la carga de su notificación push. Al solicitar esa URL, el servidor sabe que el receptor recibió la notificación push y puede pasar este estado a su aplicación de remitente.

Al igual que:

Agregue una URL específica en su carga útil de notificaciones push

Implemente la application:didReceiveRemoteNotification:fetchCompletionHandler: method en el delegado de su aplicación y en ese método llame a la URL desde la carga útil.

Implemente una lógica en su servidor que reconozca la llamada URL como una notificación recibida

Permita que su aplicación de remitente obtenga continuamente el estado de notificación actual del servidor.

No lo complicaré, WhatsApp usa la función VoIP usando el marco del kit de inserción para recibir notificaciones de inserción, cuando la activación de la aplicación de inserción llega en estado activo durante 30 segundos, entonces debe enviar un mensaje de entrega para su mensaje de chat.

Creo que usa la actualización de la aplicación en segundo plano. Eso permite que las aplicaciones tengan acceso a Internet mientras están en segundo plano. Las aplicaciones como WhatsApp también muestran el estado en línea incluso cuando la aplicación no está abierta.
Pero no estoy seguro porque la actualización de la aplicación en segundo plano vino con iOS 7 y no recuerdo si WhatsApp podría mostrar el estado de entrega en iOS 6 o no.