douyuan1049
2013-11-09 05:16
浏览 9
已采纳

生产模式下的推送通知未到来但在开发中它即将到来

My PNS is working good in development mode. I have done this using raywendelich blog. same way i have created certificates in production mode and run same script from server but not receiving any notification.

Which additional step needed when we are testing in production mode from our server.Its very urgent need. plase help what to do for production mode.

our PHP code

<?php

// Put your device token here (without spaces):
$deviceToken = 'd5d89cab86e6f1a3cfa66dd853f3f4d7dd932c4a6da793cb9c86d31e9cfcb31f';

// Put your private key's passphrase here:
$passphrase = '*******';

// Put your alert message here:
$message = '****';

 $ctx = stream_context_create();
 stream_context_set_option($ctx, 'ssl', 'local_cert', 'ckm.pem');
 stream_context_set_option($ctx, 'ssl', 'passphrase', $passphrase);

 // Open a connection to the APNS server
 $fp = stream_socket_client(
'ssl://gateway.push.apple.com:2195', $err,
$errstr, 60, STREAM_CLIENT_CONNECT|STREAM_CLIENT_PERSISTENT, $ctx);

 if (!$fp)
exit("Failed to connect: $err $errstr" . PHP_EOL);

echo 'Connected to APNS' . PHP_EOL;

// Create the payload body
$body['aps'] = array(
'alert' => $message,
'sound' => 'default'
);

  // Encode the payload as JSON
 $payload = json_encode($body);

 // Build the binary notification
 $msg = chr(0) . pack('n', 32) . pack('H*', $deviceToken) . pack('n', strlen($payload))   . $payload;

 // Send it to the server
 $result = fwrite($fp, $msg, strlen($msg));

 if (!$result)
echo 'Message not delivered' . PHP_EOL;
 else
echo 'Message successfully delivered' . PHP_EOL;

  // Close the connection to the server
  fclose($fp);

图片转代码服务由CSDN问答提供 功能建议

我的PNS在开发模式下运行良好。 我使用raywendelich博客完成了这个。 同样地,我在生产模式下创建了证书,并从服务器运行相同的脚本,但没有收到任何通知。

当我们从服务器进行生产模式测试时,需要采取哪些额外步骤。非常紧急 需要。 请帮助您为生产模式做些什么。

我们的PHP代码

 &lt;?php 
 
 //放置您的设备 令牌在这里(没有空格):
 $ deviceToken ='d5d89cab86e6f1a3cfa66dd853f3f4d7dd932c4a6da793cb9c86d31e9cfcb31f'; 
 
 //在此处输入私钥的密码:
 $ passphrase ='*******'; 
 
 // 将警报消息放在此处:
 $ message ='****'; 
 
 $ ctx = stream_context_create(); 
 stream_context_set_option($ ctx,'ssl','local_cert','ckm.pem')  ; 
 stream_context_set_option($ ctx,'ssl','passphrase',$ passphrase); 
 
 //打开与APNS服务器的连接
 $ fp = stream_socket_client(
'ssl://gateway.push  .apple.com:2195',$ err,
 $ errstr,60,STREAM_CLIENT_CONNECT | STREAM_CLIENT_PERSISTENT,$ ctx); 
 
 if if(!$ fp)
exit(“连接失败:$ err $ errstr”。  PHP_EOL); 
 
echo'连接到APNS'。  PHP_EOL; 
 
 //创建有效负载主体
 $ body ['aps'] = array(
'alert'=&gt; $ message,
'sound'=&gt;'default'
);  
 
 //将有效负载编码为JSON 
 $ payload = json_encode($ body); 
 
 //构建二进制通知
 $ msg = chr(0)。 打包('n',32)。  pack('H *',$ deviceToken)。  pack('n',strlen($ payload))。  $ payload; 
 
 //将其发送到服务器
 $ result = fwrite($ fp,$ msg,strlen($ msg)); 
 
 if if(!$ result)
echo'消息未送达 '。  PHP_EOL; 
 else 
echo'消息已成功发送'。  PHP_EOL; 
 
 //关闭与服务器的连接
 fclose($ fp); 
   
 
  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 邀请回答

1条回答 默认 最新

相关推荐 更多相似问题