PHP 开发:php 做推送服务端实现 ios 消息推送
准备工作
1.获取手机注册应用的 deviceToken(iphone 手机注册应用时返回唯一值 deviceToken)
2.获取 ck.pem 文件(做手机端的给)
3.获取 pass phrase(做手机端的给)
testpush.php 文件
代码如下:
<?php
//手机注册应用返回唯一的 deviceToken
$deviceToken
= '6ad7b13f b05e6137 a46a60ea 421e5016 4b701671 cc176f70 33bb9ef4
38a8aef9';
//ck.pem 通关密码
$pass
= 'jetson';
//消息内容
$message
= 'A test message!';
//badge 我也不知是什么
$badge
= 4;
//sound 我也不知是什么(或许是推送消息到手机时的提示音)
$sound
= 'Duck.wav';
//建设的通知有效载荷(即通知包含的一些信息)
$body
=
array
();
$body
['id'] = "4f94d38e7d9704f15c000055";
$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
),"\r\n";
//下边的写法就是死写法了,一般不需要修改,
//唯一要修改
$ctx
= stream_context_create();
stream_context_set_option(
$ctx
, 'ssl', 'local_cert', 'ck.pem');
stream_context_set_option(
$ctx
, 'ssl', 'passphrase',
$pass
);
$fp
= stream_socket_client('',
$err
,
$errstr
, 60, STREAM_CLIENT_CONNECT,
$ctx
);
if
(!
$fp
) {