熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> PHP編程 >> 正文

解析php做推送服務端實現ios消息推送

2013-11-15 12:38:32  來源: PHP編程 
本篇文章是對php做推送服務端實現ios消息推送的方法進行了詳細的分析介紹需要的朋友參考下  

  准備工作
獲取手機注冊應用的deviceToken(iphone手機注冊應用時返回唯一值deviceToken)
獲取ckpem文件(做手機端的給)
獲取pass phrase(做手機端的給)

testpushphp文件

復制代碼 代碼如下:

  
<?php
//手機注冊應用返回唯一的deviceToken
$deviceToken = adbf be aaea e b ccf bbef aaef;
//ckpem通關密碼
$pass = jetson;
//消息內容
$message = A test message!;
//badge我也不知是什麼
$badge = ;
//sound我也不知是什麼(或許是推送消息到手機時的提示音)
$sound = Duckwav;
//建設的通知有效載荷(即通知包含的一些信息)
$body = array();
$body[id] = "fdedfc";
$body[aps] = array(alert => $message);
if ($badge)
$body[aps][badge] = $badge;
if ($sound)
$body[aps][sound] = $sound;
//把數組數據轉換為json數據
$payload = json_encode($body);
echo strlen($payload)"rn";
//下邊的寫法就是死寫法了一般不需要修改
//唯一要修改的就是ssl://gatewaysandboxpushapplecom:這個是沙盒測試地址ssl://gatewaypushapplecom:正式發布地址
$ctx = stream_context_create();
stream_context_set_option($ctx ssl local_cert ckpem);
stream_context_set_option($ctx ssl passphrase $pass);
$fp = stream_socket_client(ssl://gatewaysandboxpushapplecom: $err $errstr STREAM_CLIENT_CONNECT $ctx);
if (!$fp) {
print "Failed to connect $err $errstrn";
return;
}
else {
print "Connection OKn<br/>";
}
// send message
$msg = chr() pack("n") pack(H* str_replace( $deviceToken)) pack("n"strlen($payload)) $payload;
print "Sending message :" $payload "n";
fwrite($fp $msg);
fclose($fp);
?>


From:http://tw.wingwit.com/Article/program/PHP/201311/21331.html
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.