繁体   English   中英

APNS推送通知接收不正确

[英]APNS Push notification received incorrect

我们公司有多个应用程序,当然所有应用程序都有不同的应用程序ID。 最近我们看到了一些问题,即推送通知是从应用X发送到设备的,而实际上是为应用Y发送的

用户打开应用Y,我们的后端注册了其设备令牌。 用户稍微使用该应用程序并存在该用户现在打开应用程序X,后端也注册了该设备。

现在,将推送消息发送到应用程序Y,用户会收到此消息,但设备会将其显示为好像已被应用程序X接收。单击通知时,将打开应用程序X。

注意:所有应用程序都使用单独的数据库

我们已经检查了我们使用的.pem文件(我们的后端向apns发送通知是用PHP编写的),这些文件还不错。 连接管理器也使用正确的证书正确发送到APNS。

这个问题的问题是什么,当然是解决方案?

您是否还记得在与APNS通信的.php脚本结尾处关闭与APNS服务器的连接?

只需将这一行放在最后:

fclose($fp);

$ fp是您先前声明的连接,如下所示:

$fp = stream_socket_client(
    'ssl://gateway.push.apple.com:2195', $err,
    $errstr, 60, STREAM_CLIENT_CONNECT|STREAM_CLIENT_PERSISTENT, $ctx);

出现此问题的原因很可能是由于来自其他应用程序的连接尚未关闭。 当它们保持打开状态时,新的通知会从打开与服务器的连接的最后一个应用程序发送。 我的公司遇到了同样的问题,当我们在不同应用程序的所有APNS脚本的结尾处关闭连接时,问题就消失了。

请让我知道这是否对您有用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM