【问题标题】:Enhanced Apple Push Notification: Response error at provider server增强的 Apple 推送通知:提供程序服务器上的响应错误
【发布时间】:2010-11-19 13:22:51
【问题描述】:

我正在开发一个 PHP 项目,该项目需要我在 APNS 服务器上推送警报通知。我使用了增强的推送通知格式。但我没有收到 APNS 文档指定的响应。我得到三位数的响应,通常是 133、132、154、138 等。我断定这是状态标志,例如。 133是1、3、3。但现在我也收到了139。所以我怀疑我对响应的解释是错误的。但我没有找到错误的地方。重要的是,尽管我收到了这些回复,但警报正在被推送,并且我在 iPhone 和 iPad 上都收到了通知。

我的代码如下:

$payload['aps'] = array('alert' => $message, 'badge' => 1, 'sound' => 'default');

$apnsHost = 'gateway.sandbox.push.apple.com'; 

$apnsPort = 2195; // default port

$apnsCert = 'apns-dev.pem'; // APNS crtificate.

$passPhrase = '';

$streamContext = stream_context_create();

stream_context_set_option($streamContext, 'ssl', 'local_cert', $apnsCert);

stream_context_set_option($streamContext, 'ssl', 'passphrase', $passPhrase);

try{

$apns = stream_socket_client('ssl://' . $apnsHost . ':' . $apnsPort, $error, $errorString, 60, STREAM_CLIENT_CONNECT, $streamContext);

if (!$apns) {
    print "Failed to connect {$error} {$errorString}\n";
}
else {   
    // Sending the payload

    $apnsMessage = chr(0) . pack('n', 1) . pack('n', $nid) . pack('n', time() + 604800) . pack('n', 32) . pack('H*', str_replace(' ', '', $alert_device_token)) .  pack('n', strlen($payload)) . $payload;

    echo 'APNS Message: ' . $apnsMessage;

    $fwrite = fwrite($apns, $apnsMessage);

    echo 'APNS response: ' . $fwrite;

当它被执行时,我在浏览器上打印了以下响应:

APNS 消息:��=ŸÂ� òc6–U:õŸŠ ¸Þ ÷ćÚ0ßqšÊzÂífÕnZ�`{"aps":{"alert":"您的 EUR\/USD 卖出警报价格已达到!"," badge":1,"sound":"default"}}APNS 响应:139

谁能告诉我这个 139 在这里是什么意思。我在这里做错了什么。

【问题讨论】:

  • 请问您是否修复了它。我得到了这样的东西。
  • 嗨,是的,我摆脱了这种情况。您必须使用增强的有效负载而不是这个,即正常有效负载
  • dubbelugh 下面是正确的:你收到的数字是 fwrite 写入的字节数。但是你可以用它来检查错误,因为如果你收到一个 0 响应,这意味着 fwrite 无法写入任何东西,可能是因为 Apple 关闭了服务器连接。因此,问题不是响应为 0 的 fwrite,而是先前成功发送的 fwrite,但苹果不喜欢它,所以他们关闭了服务器连接。如果您在 SELECT 语句中使用“ORDER BY id”,那么您可以找出问题发生的大致位置并从那里继续推送。

标签: php apple-push-notifications


【解决方案1】:

回显的“139”是 fwrite() 的返回值。是 fwrite() 写入的字节数

见:PHP: fwrite

【讨论】:

    猜你喜欢
    • 2012-04-20
    • 2010-12-10
    • 1970-01-01
    • 1970-01-01
    • 2023-03-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多