porque moviles los datos configurar como agarra activar iphone apple-push-notifications devicetoken

iphone - moviles - ¿El token de dispositivo APN es único para cada aplicación individual?



configurar apn iphone 5s (6)

Tengo dos aplicaciones en la tienda de iTunes: ambas implementan notificaciones automáticas. Mientras estaba probando el envío de notificaciones a estas aplicaciones de producción, noté que un impulso destinado a la aplicación A se tituló y abrió la aplicación B.

Ambas aplicaciones están instaladas en el mismo teléfono. Busqué en la tabla de mi dispositivo y vi que los tokens de dispositivo (y, por supuesto, la ID del dispositivo) enumerados para las dos aplicaciones eran los mismos.

Según sea necesario, estoy usando dos certificados diferentes en el servidor, uno para cada aplicación. Supuse que el token o certificado del dispositivo enviaría el mensaje a la aplicación correcta, pero claramente no es así.

Puedo ver en NSLog que los tokens que se envían desde cada aplicación son de hecho los mismos.

¿El token del dispositivo debe ser exclusivo de cada aplicación? Si es así, alguna idea de cómo mi teléfono de prueba podría estar enviando el mismo token de dispositivo para ambas aplicaciones a mi servidor. Tenga en cuenta que esto es de dos aplicaciones actualmente en la tienda de aplicaciones.

¡Gracias por cualquier ayuda!


Compartiendo mi comprensión y algunas respuestas de los desarrolladores de Apple:

  • Token de dispositivo
    • Device token es el identificador único del dispositivo.
    • APN genera token de dispositivo utilizando el certificado de dispositivo exclusivo (puede estar utilizando el perfil de aprovisionamiento)
    • El token del dispositivo puede ser cambiado. Así que asegúrese de enviar el token de dispositivo actualizado a su servidor cada vez.
    • El token del dispositivo es MISMO para todas las aplicaciones en el dispositivo.
    • Es específico del dispositivo y no específico de la aplicación.
    • Device Token puede ser diferente para sandbox y producción.
      • Según el perfil de aprovisionamiento (recinto de seguridad o producción), los APN pueden generar diferentes tokens de dispositivos para entornos de prueba y producción para el mismo dispositivo.
    • Entonces, ¿cómo se diferencia la notificación de inserción en el dispositivo? ¿Para qué aplicación es?
      • Lo hace en función del identificador de la aplicación y el certificado SSL instalado en el servidor (mediante el cual la notificación se envía al servidor APN).
  • Referencias

Dicho esto, recuerde que Apple se reserva el derecho de cambiar los dispositivos APNToken como mejor le parezca, así que no los use para identificar de manera única a un dispositivo / usuario.


El token del dispositivo para notificaciones push es específico de la aplicación. No es específico del dispositivo. es decir, el token del dispositivo será diferente y único para múltiples aplicaciones en el mismo dispositivo.

De acuerdo con apple,

Al admitir notificaciones remotas, puede proporcionar información actualizada a los usuarios de su aplicación, incluso cuando la aplicación no se está ejecutando. Para poder recibir y gestionar notificaciones remotas, su aplicación debe:

  • Habilitar notificaciones remotas.

  • Regístrese con el servicio de notificación de Apple Push (APN) y reciba un token de dispositivo específico de la aplicación.

  • Envíe el token del dispositivo a su servidor proveedor de notificaciones.

  • Implementar soporte para el manejo de notificaciones remotas entrantes.

Un token de dispositivo específico de la aplicación es único en el mundo e identifica una combinación de dispositivo y aplicación. Al recibir un token de dispositivo de APN en su aplicación, es su responsabilidad abrir una conexión de red a su proveedor. También es su responsabilidad, en su aplicación, enviar el token del dispositivo junto con cualquier otro dato relevante que desee enviarle al proveedor. Cuando el proveedor más tarde envía solicitudes de notificación remotas a APN, debe incluir el token del dispositivo, junto con la carga de notificación. Para obtener más información al respecto, consulte Información general de APN.

Nunca almacene tokens de dispositivo en su aplicación; en cambio, sáquelos del sistema cuando los necesite. APNs emite un nuevo token de dispositivo a su aplicación cuando ocurren ciertos eventos. Se garantiza que el token del dispositivo sea diferente, por ejemplo, cuando un usuario restaura un dispositivo desde una copia de seguridad, cuando el usuario instala su aplicación en un dispositivo nuevo y cuando el usuario reinstala el sistema operativo. Obtener el token, en lugar de confiar en un caché, garantiza que tenga el token de dispositivo actual necesario para que su proveedor se comunique con los APN. Cuando intenta recuperar un token de dispositivo pero no ha cambiado, el método de recuperación vuelve rápidamente.

Puede consultar el documento de Apple aquí developer.apple.com/library/content/documentation/…


No puede usar token como un identificador único, pero elimine el token viejo usando save en keygen (ayuda de itunes) y elimine token viejo y agregue uno nuevo en su base de datos.


iOS 7 maneja esto de manera diferente. Es ÚNICO ahora.

Consulte el punto 1 en este artículo: http://urbanairship.com/blog/2013/10/03/how-ios-7-handles-push-differently

"Antes de iOS 7, el token del dispositivo era el mismo en todas las instalaciones de aplicaciones en un dispositivo determinado. Las diferentes aplicaciones en su teléfono, ya sea Tap Tap Revenge o USA Today, utilizarían la misma dirección, es decir, dispositivo token, para enrutar el empuje Las credenciales de seguridad que empareja con un mensaje garantizarían que lleguen a la aplicación correcta. En iOS 7, Apple ha ido un paso más allá y se ha asegurado de que los tokens de dispositivo ahora sean diferentes en cada instalación de aplicación. Esto ayuda proteger aún más la privacidad de los usuarios eliminando otro identificador de nivel de teléfono ".

Ver también el token del dispositivo ios 7 es diferente para el mismo dispositivo


NOTA : esta es una respuesta antigua que es verdadera solo para iOS <= 6. Consulte la respuesta del usuario1641761 para el enfoque actual.

Lo averigué. Los tokens de dispositivo NO son exclusivos del emparejamiento de la aplicación telefónica. Son únicos para el teléfono solamente. Si tiene varias aplicaciones presionadas en el mismo teléfono, todas usarán el mismo token de dispositivo. El certificado que use para enviar la notificación dictará a qué aplicación va.