Desarrollo de iOS: comprensión del principio de inserción remota de los APN de Apple

Este artículo es una comprensión del principio de inserción de APN. Espero que después de leerlo puedas dominar un punto de conocimiento.

APNsEs Apple Push Notification Servicela abreviatura del servidor push de Apple.
Por favor agregue la descripción de la imagen.
La entrega de notificaciones remotas implica varios componentes clave:

  • El servidor de su empresa o un proveedor de servicios externo, llamado servidor de proveedor
  • Servicio de notificaciones push de Apple (APN)
  • dispositivo del usuario
  • Tu aplicación se ejecuta en el dispositivo del usuario.

Queremos implementar un envío de mensajes, que se divide aproximadamente en dos pasos: registrarse para enviar y enviar mensajes .

Regístrese para empujar

Por favor agregue la descripción de la imagen.

  1. Al iniciar una aplicación, generalmente solicita permiso de inserción. Cuando el usuario hace clic en Permitir, el teléfono enviará la ID del dispositivo y el certificado de inserción a Apple. Después de que APNs服务器Apple reciba esta información, verificará si se basa en el certificado de inserción, la ID del dispositivo. , e información de la APLICACIÓN. Con permiso de inserción, si hay permiso de inserción, Apple colocará la información del dispositivo en la lista de inserción.
  2. Después de que Apple pase la verificación de permiso, generará uno basado en el ID del dispositivo y el ID de la APLICACIÓN deviceToken, y deviceTokenlo devolverá a la APLICACIÓN.
  3. deviceTokenDespués de entregarlo al teléfono móvil, se pasará deviceTokendirectamente a su propio servidor; si está conectado a un SDK de terceros, se pasará al backend del proveedor de servicios de terceros y se enviará posteriormente. ser completado por el tercero.

noticias adelantadas

Por favor agregue la descripción de la imagen.

  1. Cuando el servidor tiene un mensaje que debe enviarse a la aplicación, el servidor llevará el certificado de envío y el cuerpo del mensaje enviado para notificarAPNs
  2. APNsDespués de recibir el mensaje que debe enviarse, se autenticará el certificado que lleva y, si se aprueba, APNsel mensaje se enviará al teléfono móvil de acuerdo con las reglas de inserción.
  3. Cuando el teléfono móvil recibe un mensaje push de Apple, primero determinará si el desarrollador ha implementado la interceptación de mensajes push antes de mostrarlo. De lo contrario, se mostrará directamente, si se ha implementado la interceptación, se entregará al desarrollador. para procesar.

Lo anterior es el proceso de inserción general. A continuación, resolvamos los detalles: ¿Cómo APNsestablece una conexión el teléfono móvil? ¿ Cómo APNsestablecer conexión con el servidor? deviceToken¿Caducará?

El dispositivo registra la aplicación con APN

Se comunica con el Servicio de notificaciones push (APN) de Apple y recibe un token de dispositivo único para identificar su aplicación.
Requisitos previos para la comunicación entre dispositivos y APN:

  • La aplicación está configurada con función de inserción remota
  • Registros de código para notificaciones remotasUIApplication.shared.registerForRemoteNotifications()
  • El usuario autorizó y aceptó el envío remoto.

Cree una conexión segura entre los servidores del proveedor y los APN

Hay dos tipos de conexiones entre los servidores del proveedor y APNslas conexiones basadas en tokens y las conexiones basadas en certificados .

Establecer conexiones basadas en tokens a APN

La autenticación basada en token proporciona una APNsforma sin estado de comunicarse con . La comunicación sin estado es más rápida que la comunicación basada en certificados porque no requiere APNsbuscar certificados u otra información sobre el servidor de su proveedor.
Existen otras ventajas al utilizar la autenticación basada en tokens:

  • Puede utilizar el mismo token desde varios servidores de proveedores.
  • Puede utilizar un token para distribuir notificaciones a todas las aplicaciones de su empresa.
  • Las solicitudes basadas en tokens son ligeramente mayores que las solicitudes basadas en certificados porque cada solicitud incluye un token.
  • Su token debe actualizarse y cifrarse utilizando la clave de firma del token del proveedor que Apple le proporcionó al menos una vez por hora (Apple requiere un máximo de 20 minutos y un mínimo de 60 minutos).

Las conexiones basadas en tokens pueden enviar notificaciones a múltiples aplicaciones (aplicaciones bajo una misma cuenta de desarrollador). La comunicación es más rápida, pero el tamaño del mensaje de notificación es mayor y su token debe actualizarse periódicamente. Los proveedores externos generalmente usan este método.
Como Empuje de aurora, etc.

Establecer conexiones basadas en certificados a APN

Con la autenticación basada en certificados, utiliza certificados de proveedor (certificados push) para establecer una conexión segura entre el servidor de su proveedor y los APN. Puede obtener este certificado de Apple a través de su cuenta de desarrollador.

Por favor agregue la descripción de la imagen.

  • Debido a que la confianza se establece a nivel del servidor, las solicitudes de notificación individuales contienen solo su carga útil y el token del dispositivo. No contienen tokens de autenticación, lo que reduce ligeramente el tamaño de cada solicitud de notificación.
  • Debe crear certificados separados para cada aplicación y también debe administrar conexiones APN separadas para las notificaciones de cada aplicación.

Las conexiones basadas en certificados son relativamente simples, el cuerpo del mensaje de notificación es un poco más pequeño y es necesario crear un certificado push para cada aplicación.

Características del token de dispositivo deviceToken

Registre su aplicación con APN y reciba un token de dispositivo único a nivel mundial, que es esencialmente la dirección de su aplicación en el dispositivo actual. El servidor de su proveedor debe tener este token para enviar notificaciones al dispositivo.

Un token de dispositivo de una aplicación no se puede utilizar con otra aplicación, incluso si ambas aplicaciones están instaladas en el mismo dispositivo. Ambas aplicaciones deben solicitar su propio token de dispositivo único y reenviarlo al servidor de su proveedor. (El token del dispositivo no es el mismo para todas las aplicaciones de este dispositivo. Muchos blogs han explicado esto incorrectamente. El token del dispositivo es la dirección de la aplicación en este dispositivo)

Entonces, ¿caduca el token del dispositivo? ¿Cambiará?

Oficialmente, los APN emiten un nuevo token cuando el usuario restaura el dispositivo desde la copia de seguridad, cuando el usuario instala su aplicación en un nuevo dispositivo y cuando el usuario reinstala el sistema operativo.

Cuando se desinstale la APLICACIÓN, ¿el servidor de la APLICACIÓN y APNS seguirán enviando mensajes a la APLICACIÓN?

la respuesta es negativa. Porque APNshay un servicio de retroalimentación. Cuando APNsel servidor envía un mensaje a nuestro dispositivo, pero el dispositivo no puede encontrar la APLICACIÓN para enviarlo, devolverá APNsun mensaje de respuesta al servidor, registrando que el dispositivo ha desinstalado la APLICACIÓN y no puede recibir el mensaje de inserción, y luego no lo enviará nuevamente a ese dispositivo. El dispositivo envió el mensaje.

Referencia: desarrollador.apple.com

Supongo que te gusta

Origin blog.csdn.net/wujakf/article/details/128788078
Recomendado
Clasificación