2017-09-28 1 views
6

Ich habe Benachrichtigungen in älteren Versionen von IOS gesendet. aber in der neueren Version kann ich keine .pem Datei erstellen. Jemand sagte mir, dass PEM-Datei nicht mehr benötigt wird, um eine Benachrichtigung vom Server zu senden. Aber mit Pech finde ich keinen Link dazu. Jemand leitet mich bitte an, wie man Push-Benachrichtigungen vom Server in der neueren Version von ios sendet. Ich bin seit letzter Woche im Senden von Benachrichtigungen fest. Bitte helfen Sie. Hier ist der Code iwie Push-Benachrichtigung in ios vom Server mit PHP in neueren Version von iOS senden, ohne PEM-Datei

private function pushnotification($deviceToken, $message, $type, $badge, $userid, $jobid) { 
    $passphrase = '123456'; 

    $ctx = stream_context_create(); 

    // $file = base_path(). "/public/WenderCastPush.pem"; 
    //stream_context_set_option($ctx, 'ssl', 'local_cert', $file); 
    stream_context_set_option($ctx, 'ssl', 'passphrase', $passphrase); 
    stream_context_set_option($ctx, 'ssl', 'verify_peer', false); 
    stream_context_set_option($ctx, 'ssl', 'verify_peer_name', false); 
    stream_context_set_option($ctx, 'ssl', 'allow_self_signed', true); 
    //stream_context_set_option($ctx, 'ssl','ciphers', 'TLSv1'); 
    // Open a connection to the APNS server 
    // $fp = stream_socket_client('ssl://gateway.sandbox.push.apple.com:2195', $err, $errstr, 60, STREAM_CLIENT_CONNECT | STREAM_CLIENT_PERSISTENT, $ctx); 
    $fp = stream_socket_client('ssl://gateway.push.apple.com:2195', $err, $errstr, 60, STREAM_CLIENT_CONNECT | STREAM_CLIENT_PERSISTENT, $ctx); 

    if (!$fp) 
     exit("Failed to connect: $err $errstr" . PHP_EOL); 

    $body['aps'] = array(
     //'badge' => +1, 
     'alert' => $message, 
     'sound' => 'default', 
     //'title' => $message, 
     'type' => $type, 
     'userid' => $userid , 
     'jobid' => $jobid, 
    ); 
    // Encode the payload as JSON 
    $payload = json_encode($body); 


    $msg = chr(0) . pack('n', 32) . pack('H*', $deviceToken) . pack('n', strlen($payload)) . $payload; 

    // Send it to the server 
    $result = fwrite($fp, $msg, strlen($msg)); 

    if (!$result) 
     $responce = 'Message not delivered' . PHP_EOL; 
    else 
     $responce = 'Message successfully delivered' . PHP_EOL; 

    // Close the connection to the server 
    fclose($fp); 
    return $responce; 
} 
+0

haben Sie alles versucht @Gaurav Malik –

+0

ja bitte Frage aktualisiert –

+0

Obwohl Sie Bluemix Push Notifications nicht verwenden können, können Sie den Schritt 2 der Dokumentation verwenden, um Ihr Problem zu lösen https://console.bluemix.net/docs/Dienstleistungen/Mobilep ush/push_step_1.html # push_step_1. Das p12-Zertifikat, das generiert wird, kann mit PHP-Skript verwendet werden –

Antwort

4

Sie bin mit Benachrichtigung Firebase mit schicken.
Ihre iOS App sollte mit Firebase kompiliert werden.
und Anruf folgende Adresse mit Post-Methode

visit this link

Es ist nicht sehr schwierig.

überprüfen this video.

+0

gibt es andere Dienste auch wie onesignal -> https://onesignal.com/, es ist kostenlos und hat eine gute Dokumentation. REST API zum Senden Push ist wirklich einfach – parpar

2

Senden von Push-Benachrichtigungen an iOS die neuen APNs mit HTTP/2-Protokoll mit Token-basierte (JWT mit p8 privatem Schlüssel) oder Zertifikat-basierte Authentifizierung

Sie können This Package

und Dokumentation von apple developers nutzen ihre nützlich

Verwandte Themen