반응형

PHP 간단하게 만들어 봤었던 테스트 푸시 발송 기능.


<?php

    $title = 'this is title';

    $message = 'message!!!';

    $title = preg_replace("/\"/", "'", $title);

    $message = preg_replace("/\"/", "'", $message);

 

    $result = array();

   

    $apnsHost  = 'gateway.push.apple.com';

    $apnsCert  = '.../apns_production.pem';   // iOS Developer 를 통한 생성.

    $apnsPort  = 2195;

    $apnsToken = 'abcdefg012345'; // app token

   

    $payload = array();

    // 현재 발송 메시지 형태

    $payload['aps'] = array(

        "alert" => $message,

        "badge" => 1,

        "sound" => "pushSound.caf",

        "content-available" => 1);

    $payload['extra'] = array("param1" => 0, "param2" => "");


    $push = json_encode($payload);

    $streamContext = stream_context_create();

    stream_context_set_option($streamContext, 'ssl', 'local_cert', $apnsCert);

    $apns = stream_socket_client('ssl://'.$apnsHost.':'.$apnsPort, $error, $errorString, 10, STREAM_CLIENT_CONNECT, $streamContext);

    if($apns) {

        $apnsMessage = chr(0).chr(0).chr(32).pack('H*', str_replace(' ', '', $apnsToken)).chr(0).chr(strlen($push)).$push;

        var_dump($apnsMessage);

        fwrite($apns, $apnsMessage);

        @fclose($apns);

    }

?>



반응형

+ Recent posts