适用于MacOS的APNS服务器端(Safari)

时间:2014-01-23 07:33:32

标签: php ios safari apple-push-notifications

我需要为MacO推送通知(Safari)实现服务器端(php)。不久前我设法为iOS(iphone)做了一切,一切正常。但是MacOS存在问题。我从apple获得了证书,设备令牌存储在数据库中。打开套接字没有错误,但是当我发送消息时,没有任何反应。发送推送到iOS和MacOS之间的主要区别是什么?可能我只是缺少一些东西?

1 个答案:

答案 0 :(得分:0)

好吧,我想我找到了问题的根源。 原因是有效载荷消息格式。这就是苹果网站(https://developer.apple.com/library/mac/documentation/NetworkingInternet/Conceptual/NotificationProgrammingGuideForWebsites/PushNotifications/PushNotifications.html

上描述的内容
{
    "aps": {
        "alert": {
            "title": "Flight A998 Now Boarding",
            "body": "Boarding has begun for Flight A998.",
            "action": "View"
        },
        "url-args": ["boarding", "A998"]
    }
}

在我的情况下,“url-args”字段丢失了(我认为它是可选的)。但是在添加之后,通知开始到达Mac。因此,如果您设法与apple建立套接字连接,但通知仍无效,

  1. 检查套接字是否有错误消息(无效的令牌格式等)
  2. 如果没有错误,请检查paeload消息格式。在我的情况下,这就是原因。
  3. 一般来说,这种方法与向iOS发送推送时的方法相同。