iPhone推送通知服务器:服务器更改后要做什么?

时间:2010-11-17 08:14:33

标签: php iphone push-notification

我去年成功设法实施了iPhone推送通知服务器(PHP);我不得不改变服务器,并且认为移动文件已经足够......我错了,因为修改通知不再发送了。没有错误,一切似乎都没问题,但没有收到通知。

以下是我的服务器代码;任何人都可以想到一个原因,或者找到问题的方法? (注意:$ deviceTokens var是正确的,包含设备令牌,我已经使用openssl命令成功测试了我的.pem证书。)

    $payload['aps'] = array('alert' => 'notification!!', 'sound' => 'push.aif');
    $payload = json_encode($payload);

    $streamContext = stream_context_create();
    stream_context_set_option($streamContext, 'ssl', 'local_cert', 'libraries/ck_prod.pem');
    $apns = stream_socket_client('ssl://gateway.sandbox.push.apple.com:' . 2195, $error, $errorString, 2, STREAM_CLIENT_CONNECT, $streamContext);

    if($error) {
        log_message('error', $errorString);
        return;
    }

    log_message('debug', 'sending push notification...');

    if($apns) {
        foreach($deviceTokens as $deviceToken) {
            $apnsMessage = chr(0) . chr(0) . chr(32) . pack('H*', str_replace(' ', '', $deviceToken)) . chr(0) . chr(strlen($payload)) . $payload;
            fwrite($apns, $apnsMessage);
        }
        fclose($apns);
    } else {
        log_message('error', 'error while sending push notification');
    }

1 个答案:

答案 0 :(得分:0)

好吧......也许我应该注意到我正在联系测试服务器(网关。沙箱 .push.apple.com)...有些日子很难... < / p>