tutorial react notification developer apple iphone push push-notification apple-push-notifications
http://d1xzuxjlafny7l.cloudfront.net/downloads/SimplePush.zip

iphone - react - push notifications ios swift 4



Error de notificación de inserción: "No se puede establecer el archivo de cadena de cert local" (3)

Además de una gran respuesta de Steve N, déjame agregar el último punto.

  1. Asegúrese de comprender la advertencia, especialmente incluir detalles de su certificado y su emisor . Probablemente no tenga un bloque en su archivo .pem, es decir, issuer issuer= , subject= etc. y su archivo comienza con -----BEGIN CERTIFICATE . Se puede eliminar accidentalmente durante la conversión del archivo de certificado.

Escribí una página php de prueba que acaba de enviar una notificación push genérica y funciona intermitentemente. Algunas veces entrega el mensaje y otras veces obtengo este error:

"Mensaje: stream_socket_client () [function.stream-socket-client]: no se puede establecer el archivo local de la cadena cert` /var/www/ninerobot.com/public/mlb/certs/mlbtr-push-dev.pem ''; su configuración cafble / capath incluye detalles de su certificado y su emisor "

¿Sabes cómo puedo resolver este problema?

Veo que en los documentos de Apple dice "Nota: para establecer una sesión TLS con APN, se debe instalar un certificado raíz de Entrust Secure CA en el servidor del proveedor. Si el servidor ejecuta Mac OS X, este certificado raíz ya está en el llavero. En otros sistemas, es posible que el certificado no esté disponible. Puede descargar este certificado del sitio web Entrust SSL Certificates ". ¿Esto significa algo que tengo que hacer?


Use esta lista de verificación para resolver esto:

  1. ¿ Creó un certificado legítimo a través de instrucciones como estas ?
  2. ¿Su archivo .pem es legible por su proceso de servidor web (es decir, los permisos y la ubicación del archivo son buenos)? Muchas configuraciones ejecutan apache, por ejemplo, bajo el usuario / grupo "www-data". Nota al margen: asegúrese de que los visitantes no puedan ver el archivo .pem navegando hacia él.
  3. ¿Tiene su servidor instalado el Certificado de raíz de CA segura de Entrust (2048 bit)? De lo contrario, siga las instrucciones para descargar / instalar para su sistema operativo de servidor particular.
  4. ¿Está abierto el puerto TCP de salida 2195 ? Muchos proveedores de hosting NO tienen este puerto de salida abierto por defecto.

Yo también tengo más dificultades para hacer lo mismo. Eventualmente encontré la solución para enviar notificaciones automáticas a través de la URL global de PHP. Pruebe los pasos a continuación. Antes de eso, espero que todos ustedes saben para generar los 3 certificados que es PushChat.certSigningRequest, pushkey.p12 y aps_development.cer (csr, p12, cer)

Abra su terminal y ejecute paso a paso los siguientes comandos:

# Make sure terminal refers your correct certificate path. $ cd ~/Desktop/ # Ask system administrator to open if its not connected $ telnet gateway.sandbox.push.apple.com 2195 Trying 17.110.227.35... Connected to gateway.sandbox.push-apple.com.akadns.net. Escape character is ''^]''. # Convert .cer to .pem $ openssl x509 -in aps_development.cer -inform der -out PushCert.pem # Convert .p12 to .pem. Enter your pass pharse which is the same pwd that you have given while creating the .p12 certificate. PEM pass phrase also same as .p12 cert. $ openssl pkcs12 -nocerts -out PushKey1.pem -in pushkey.p12 Enter Import Password: MAC verified OK Enter PEM pass phrase: Verifying - Enter PEM pass phrase: # To remove passpharse for the key to access globally. This only solved my stream_socket_client() & certificate capath warnings. $ openssl rsa -in PushKey1.pem -out PushKey1_Rmv.pem Enter pass phrase for PushChatKey1.pem: writing RSA key # To join the two .pem file into one file: $ cat PushCert.pem PushKey1_Rmv.pem > ApnsDev.pem

Luego, finalmente mueva el SimplePush.php a la ubicación del archivo ApnsDev.pem. Ambos archivos estarán en la misma carpeta. y cambie Token del dispositivo, Frase del pase, Nombre del certificado ( ApnsDev.pem ), Mensaje ... En simplepush.php Descargue el archivo usando la URL a continuación. http://d1xzuxjlafny7l.cloudfront.net/downloads/SimplePush.zip Luego ejecuta el archivo en la terminal o en tu servidor de dominio

$ php simplepush.php

o

www.Domainname.com/push/simplepush.php // Now, url shows ''Connected to APNS Message successfully delivered''.

Eso es todo, la notificación de inserción volará y llegará al dispositivo IOS específico.

Si desea enviar ''Badge'', cambie el código de la carga en simplepush.php como se muestra a continuación,

// Construct the notification payload body: $badge = 1; $sound = ''default''; $body = array(); $body[''aps''] = array(''alert'' => $message); if ($badge) $body[''aps''][''badge''] = $badge; if ($sound) $body[''aps''][''sound''] = $sound; // End of Configurable // Encode the payload as JSON: $payload = json_encode($body);

Ahora ejecute el archivo php nuevamente y el ícono de la aplicación aparece con el número de la insignia en círculo rojo.