ios - pantalla - recuperar notificaciones iphone
Notificaciones automáticas múltiples de Apple no visibles en Bandeja de notificaciones (3)
Básicamente quiero hacer notificaciones múltiples push en la misma aplicación visible en la bandeja de notificaciones en iOS.
Este escenario funciona si mis datos están activados mientras la notificación push se activa a través de APNS, pero solo se recibe la última en caso de que esté desconectado y regrese después de un tiempo. Esta funcionalidad está confirmada por APNS documentation.
Sin embargo, esto es lo que funcionó en WhatsApp:
- Desactivado la conexión de datos desactivada
- Enviado algunos mensajes a WhatsApp
- La conexión de datos activada está activada
- Vi notificaciones push múltiples recibidas en la bandeja de notificaciones de Apple
¿Cómo está funcionando este escenario? ¿Puedo usar APNS para esto? ¿Si es así, entonces cómo?
Vea esta imagen de muestra de notificaciones push múltiples en WeChat.
Como escribió en su pregunta, esto se menciona en los documentos de Apple:
Si está enviando notificaciones múltiples al mismo dispositivo o computadora dentro de un período corto de tiempo, el servicio de inserción enviará solo el último.
El único caso en el que lo que está describiendo funcionará es si su whatsApp se abrió en segundo plano al obtener esas push notifications
. De esa forma, whatsApp los manejará como local notifications
y los presentará a todos en el centro de notificaciones. Si se cerró whatsApp, solo recibirías la última notificación como cualquier otra aplicación.
Puedes probar esto fácilmente:
- Termina whatsApp y activa el
Airplane mode
. - Envía a tu dispositivo 5 mensajes del 1 al 5.
- Apague el
Airplane mode
y bloquee su dispositivo. - Solo verá un mensaje (el último que envió alias "5") en su
notifications center
.
Así es como WhatsApp lo está haciendo funcionar:
Mientras que WhatsApp está en segundo plano, se recibe una sola notificación de inserción (la última que el usuario envió, "5" en nuestro ejemplo). Ese mensaje no se mostrará al usuario.
WhatsApp lo recibe en la application:didReceiveRemoteNotification:fetchCompletionHandler:
método application:didReceiveRemoteNotification:fetchCompletionHandler:
y comprueba contra sus servidores si hay notificaciones anteriores a "5" que el usuario no recibió. Si ese es el caso, extraerán esos datos de sus servidores y los presentarán al usuario mediante local notifications
que básicamente es solo una forma de presentar datos y no están relacionados con APNS en absoluto.
Como se describe, no puede tener ningún control sobre esas notificaciones push.
Sin embargo, es posible que sepa que desde iOS7 un nuevo modo de ejecución en segundo plano ( notificaciones remotas ) permite que el sistema despierte la aplicación cuando se recibe un impulso, lo que le permite procesar algunos datos y luego volver a dormirse ...
Este es probablemente el truco: usar esa forma para recibir las notificaciones automáticas (silenciosamente) y luego activar su propia notificación local en su lugar, como dijo @Segev. Vea los UIBackgroundModes aquí .
Se explica en Solucionar problemas de notificaciones automáticas . Compruebe la sección "Algunas notificaciones recibidas, pero no todas".