2014-01-23 56 views
0

我需要爲MacOs推送通知(Safari)實現服務器端(php)。不久前,我設法爲iOS(iPhone)做到了,一切正常。但是MacOS存在一個問題。我從蘋果公司獲得了證書,設備令牌存儲在數據庫中。套接字打開沒有錯誤,但是當我發送消息時,沒有任何反應。發送推送到iOS和MacOS的主要區別是什麼?可能是我只是想念一些東西?MacOS的APNS服務器端(Safari)

回答

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」字段缺失(我認爲這是可選的)描述。但添加後,通知開始到達Macs。所以,如果你成功地建立與蘋果socket連接,而是將通知仍然沒有工作,

  1. 錯誤消息(無效令牌格式等)
  2. 如果沒有錯誤檢查插座,檢查paeload消息格式。在我的情況下,這是原因。

一般來說,這種方法與發送推送到iOS的方法相同。