Join the social network of Tech Nerds, increase skill rank, get work, manage projects...
 
  • Push Notification - iPhone

    • 0
    • 0
    • 0
    • 0
    • 0
    • 0
    • 0
    • 0
    • 137
    Comment on it

    This post will help you to send push notification to iPhone devices using server side scripting language called php.

    Here are code to send push notification

    /**
         * Apple Push Notification Services (APNS)
         *
         * @param   array   data
         * @param   string  message
         * @param   array   custom_fields
         * @return  string  status  success|failure
         */
        function iphonePushNotification( $data = array(), $message = NULL, $custom_fields = array() )
        {
            $message = !empty($message) ? trim($message) : '';
    
            if ( count($data)==0 )
                return 'empty device token.';
    
            if ( empty($message) )
                return 'empty message.';
    
            // Set private key's passphrase & local cert file path
            $passphrase = PASSPHRASE;
            $local_cert = LOCAL_CERT_PATH;
            $streamContext = stream_context_create();
            stream_context_set_option($streamContext, 'ssl', 'local_cert', $local_cert);
            stream_context_set_option($streamContext, 'ssl', 'passphrase', $passphrase);
            $fp = stream_socket_client('ssl://gateway.sandbox.push.apple.com:2195', $error, $errorString, 20, STREAM_CLIENT_CONNECT, $streamContext); // Open a connection to the APNS server
    
            if (!$fp)
            {
                $status = "failure";
            }
            else 
            {
                $c = count($data);
                for ( $i=0; $i<$c; $i++ )
                {
                    // iPhone Device Token Without Any Spaces
                    $deviceToken = isset($data[$i]['device_token']) && !empty($data[$i]['device_token']) ? trim($data[$i]['device_token']) : '';
                    $deviceToken = str_replace(' ', '', $deviceToken);
    
                    // Set badge
                    $badge = isset($data[$i]['badge']) ? $data[$i]['badge'] : 1;
    
                    // Check if device token not empty
                    if ( !empty($deviceToken) )
                    {
                        // Create the payload body
                        $body['aps'] = array(
                            'alert'         =>  $message,
                            'badge'         =>  $badge,
                            'sound'         =>  'default',
                            'custom_fields' =>  $custom_fields
                        );
    
                        // Encode the payload as JSON
                        $payload = json_encode($body);
    
                        // Build the binary notification
                        $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));
                    }
                }
    
                $status = 'success';
            }
            fclose($fp);
    
            return $status;
        }
    

 0 Comment(s)

Sign In
                           OR                           
                           OR                           
Register

Sign up using

                           OR                           
Forgot Password
Fill out the form below and instructions to reset your password will be emailed to you:
Reset Password
Fill out the form below and reset your password: