设为首页 - 加入收藏 ASP站长网(Aspzz.Cn)- 科技、建站、经验、云计算、5G、大数据,站长网!
热搜: 创业者 手机 数据
当前位置: 首页 > 站长学院 > PHP教程 > 正文

解析php做推送服务端实现ios消息推送

发布时间:2022-07-22 12:20 所属栏目:121 来源:互联网
导读:本篇文章是对php做推送服务端实现ios消息推送的方法进行了详细的分析介绍,需要的朋友参考下 准备工作 1.获取手机注册应用的deviceToken(iphone手机注册应用时返回唯一值deviceToken) 2.获取ck.pem文件(做手机端的给) 3.获取pass phrase(做手机端的给)
  本篇文章是对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";
 
  //下边的写法就是死写法了,一般不需要修改,
 
  //唯一要修改的就是:ssl://gateway.sandbox.push.apple.com:2195这个是沙盒测试地址,ssl://gateway.push.apple.com:2195正式发布地址
 
  $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('ssl://gateway.sandbox.push.apple.com:2195', $err, $errstr, 60, STREAM_CLIENT_CONNECT, $ctx);
 
  if (!$fp) {
 
  print "Failed to connect $err $errstr/n";
 
  return;
 
  }
 
  else {
 
  print "Connection OK/n<br/>";
 
  }
 
  // send message
 
  $msg = chr(0) . pack("n",32) . pack('H*', str_replace(' ', '', $deviceToken)) . pack("n",strlen($payload)) . $payload;
 
  print "Sending message :" . $payload . "/n";
 
  fwrite($fp, $msg);
 
  fclose($fp);
 
  ?>。
 
 

(编辑:ASP站长网)

    网友评论
    推荐文章
      热点阅读