¿Qué es la notificación de envío silencioso? ¿Cuándo lo recibe el dispositivo?

Quiero borrar mi notificación local en la bandeja de notificaciones. Para que esto se implemente, estoy pensando en usar la notificación de envío silencioso. Entonces, ¿quiero confirmar cuándo el dispositivo lo recibe y qué cosas puedo hacer con él?

Se pueden usar para informar la aplicación de contenido nuevo sin informar al usuario. En lugar de mostrar una alerta de notificación, la aplicación se activará en segundo plano (iOS no inicia automáticamente su aplicación si el usuario la ha forzado) y la aplicación: didReceiveRemoteNotification: fetchCompletionHandler: se invocará . A continuación, tiene la oportunidad de procesar cualquier información de forma transparente para el usuario:

  • Descargar un poco de contenido
  • Sincroniza algunos elementos,
  • Informar al usuario directamente dentro de la aplicación cuando la abra de nuevo

Tenga en cuenta que su tiempo está limitado a 30 s.

Para configurar notificaciones silenciosas

Para admitir notificaciones remotas silenciosas, agregue el valor de notificación remota a la matriz UIBackgroundModes en su archivo Info.plist. Para obtener más información sobre esta matriz, consulte UIBackgroundModes.

UIBackgroundModes      remote-notification  

Configurar una notificación silenciosa

El diccionario aps también puede contener la propiedad de contenido disponible. La propiedad de contenido disponible con un valor de 1 permite que la notificación remota actúe como una notificación silenciosa. Cuando llega una notificación silenciosa, iOS despierta su aplicación en segundo plano para que pueda obtener nuevos datos de su servidor o procesar la información de fondo. No se informa a los usuarios sobre la información nueva o modificada que resulta de una notificación silenciosa, pero pueden averiguarlo la próxima vez que abran su aplicación.

Para una notificación silenciosa, asegúrese de que no haya alerta, sonido o carga útil de insignia en el diccionario aps. Si no sigue estas instrucciones, la notificación configurada incorrectamente puede ser acelerada y no entregada a la aplicación en segundo plano, y en lugar de ser silenciosa se muestra al usuario

Cuando envía una notificación push silenciosa y la aplicación se suspende, el sistema se activa o inicia la aplicación y la pone en segundo plano antes de llamar al método, pero si el usuario lo elimina manualmente, no se activará.

aplicación: didReceiveRemoteNotification: fetchCompletionHandler:

Se llama a este método cuando envía una notificación de envío silencioso y su aplicación tiene hasta 30 segundos de reloj de pared para realizar la descarga o cualquier otro tipo de operación y llamar al bloque de controlador de finalización especificado. Si el manejador no se llama a tiempo, su aplicación será suspendida.

Si desea enviar una notificación de envío silencioso, su carga de notificación debería ser así:

 { "aps" = { "content-available" : 1, "sound" : "" }; // You can add custom key-value pair here... }