我正在寻找可以将推送通知发送到ios设备和android设备的php代码。
我个人已经将easyapns用于ios推送通知,将gcm用于android推送通知。
我想将两个代码合并,并为发送两个设备的推送通知制作一个代码。
我只在php部分上工作。有什么解决方案可以使它变得容易吗?
经过研究,我找到了一种适用于ios的解决方案。
public function send_notification($registration_id,$message,$ios_certificate,$badge,$tHost){
// Provide the Host Information.
//$tHost = 'gateway.sandbox.push.apple.com';
$tPort = 2195;
// Provide the Certificate and Key Data.
//$tCert = 'certificates/meetmethere/apns-dev-cert.pem';
$tPassphrase = '';
//$tToken = 'efdf10632aa4e711ef8c57abf2a3cdec51e7c42811bb998c3e26de2876bac8fa';
//$tAlert = 'this is the test message ';
// The Badge Number for the Application Icon (integer >=0).
$tBadge = 0;
// Audible Notification Option.
$tSound = 'default';
// The content that is returned by the LiveCode "pushNotificationReceived" message.
$tPayload = 'message';
// Create the message content that is to be sent to the device.
$tBody['aps'] = array (
'alert' => $message,
'badge' => $badge,
'sound' => $tSound,
);
$tBody ['payload'] = $tPayload;
$tBody = json_encode ($tBody);
// Create the Socket Stream.
$tContext = stream_context_create ();
stream_context_set_option ($tContext, 'ssl', 'local_cert', $ios_certificate);
// Remove this line if you would like to enter the Private Key Passphrase manually.
stream_context_set_option ($tContext, 'ssl', 'passphrase', $tPassphrase);
// Open the Connection to the APNS Server.
$tSocket = stream_socket_client ('ssl://'.$tHost.':'.$tPort, $error, $errstr, 30, STREAM_CLIENT_CONNECT|STREAM_CLIENT_PERSISTENT, $tContext);
// Check if we were able to open a socket.
if (!$tSocket)
$status=false;
// Build the Binary Notification.
$tMsg = chr (0) . chr (0) . chr (32) . pack ('H*', $registration_id) . pack ('n', strlen ($tBody)) . $tBody;
// Send the Notification to the Server.
$tResult = fwrite ($tSocket, $tMsg, strlen ($tMsg));
if ($tResult)
$status=true;
else
$status=false;
fclose ($tSocket);
return $status;
}`
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句