2017-09-28 17 views
6

का उपयोग किए बिना मैंने आईओएस के पुराने संस्करणों में अधिसूचना भेजी है। लेकिन नए संस्करण में मैं .pem फ़ाइल बनाने में सक्षम नहीं हूं। किसी ने मुझे बताया कि सर्वर से अधिसूचना भेजने के लिए अब पेम फ़ाइल की आवश्यकता नहीं है। लेकिन दुर्भाग्य से मैं इस संबंध में कोई लिंक नहीं ढूंढ पा रहा हूं। कृपया मुझे मार्गदर्शन करें कि आईओएस के नए संस्करण में सर्वर से पुश अधिसूचनाएं कैसे भेजें। मैं पिछले सप्ताह से अधिसूचना भेजने में फंस गया हूं। कृपया मदद करे। यहाँ कोड मैंआईओएस के नए संस्करण में php का उपयोग कर सर्वर से आईओएस में पुश अधिसूचना कैसे भेजें, पेम फ़ाइल

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

क्या आपने कुछ भी कोशिश की है @ गौराव मलिक –

+0

हाँ कृपया –

+0

पर अपडेट करें, हालांकि आपको ब्लूमिक्स पुश अधिसूचनाओं का उपयोग करने की आवश्यकता नहीं है, फिर भी आप अपनी समस्या को हल करने के लिए दस्तावेज़ के चरण 2 का उपयोग कर सकते हैं https://console.bluemix.net/docs/सेवाओं/mobilep ush/push_step_1.html # push_step_1। जेनरेट किए गए पी 12 प्रमाणपत्र का उपयोग php स्क्रिप्ट –

उत्तर

4

उपयोग कर रहा हूँ आप Firebase का उपयोग कर अधिसूचना भेज सकते हैं।
आपका आईओएस ऐप फायरबेस के साथ संकलित किया जाना चाहिए।
और आह्वान के बाद पता पोस्ट विधि

visit this link

यह बहुत मुश्किल नहीं है का उपयोग कर।

this video चेक करें।

+0

अन्य सेवाएं भी हैं जैसे-ignal -> https://onesignal.com/, यह मुफ़्त है और इसमें अच्छी प्रलेखन है। पुश भेजने के लिए आरईएसटी एपीआई वास्तव में आसान है – parpar

2

नया APN के HTTP/2 (p8 निजी कुंजी के साथ जेडब्ल्यूटी) टोकन आधारित के साथ प्रोटोकॉल या प्रमाणपत्र-आधारित प्रमाणीकरण का उपयोग कर iOS के लिए संदेश पुश नोटिफिकेशन के

आप This Package

और apple developers के प्रलेखन का उपयोग कर सकते है अपने उपयोगी

संबंधित मुद्दे