【发布时间】:2016-02-29 09:14:48
【问题描述】:
我遇到了以下问题。
我有一个运行两年的 IOS 应用程序,推送通知没有问题。
我基本上所做的是将所有注册 ID 存储在数据库中,并通过 php 脚本向它们发送通知:
// 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);
$title = "My App";
$nachricht = $message['teams']['heim']." - ". $message['teams']['aus'];
// Create the payload body
$body['aps'] = array(
'alert' => $title. " \n " . $nachricht,
'sound' => 'default',
'message' => $nachricht
);
$body['id'] = $message['spiel'];
$body['message'] = $nachricht;
$body['title'] = $title;
// Encode the payload as JSON
$payload = json_encode($body);
for ($i = 0; $i < count($registation_ids); $i++) {
// Build the binary notification
$msg = chr(0) . pack('n', 32) . pack('H*', $registation_ids[$i]) . pack('n', strlen($payload)) . $payload;
// Send it to the server
$result = fwrite($fp, $msg, strlen($msg));
}
fclose($fp);
这个脚本我从来没有遇到过任何问题,但现在一些几周前收到通知的用户不再收到通知了。首先我认为我的证书和提供配置文件有问题,但是具有相同 IOS 版本和 App 版本的其他用户仍然收到通知。 我还检查了用户不再收到消息的通知设置,它们是正确的。
什么会导致这个问题? 目前我不知道错误发生在哪里。
【问题讨论】:
-
注册时检查设备令牌..
-
我认为他们没有注册,因为有些帐户确实在前一段时间收到了推送通知,而现在没有收到。他们可以设置一些设置,因为他们使用设备令牌作为密钥,这也是有效的
标签: php ios iphone notifications push-notification