2013-01-10 110 views
0

iOS中的Facebook應用程序示例使用Apple推送通知服務(APNS)。我認爲當Facebook服務器看到新的提要或新朋友請求時,它會發送消息給APNS。之後,APNS將通知客戶,該客戶正在登錄該Facebook賬戶。我的問題是:爲什麼推送通知服務器發送消息到客戶端

  1. 爲什麼APNS知道哪個設備登錄該Facebook帳戶?
  2. APNS如何準確地向該客戶端發送消息(爲什麼APNS知道客戶端的IP地址)?

據我所知,推送通知也是Windows Phone(微軟推送通知服務)和Android(雲到設備消息)中的技術應用。

謝謝。

回答

1

APNS(蘋果推送通知服務)在每個設備上爲每個應用唯一ID工作。 您會將消息推送給此唯一ID並將其發送給用戶設備。

您的應用必須請求此ID並將其傳遞給服務器,以便發送通知。 該ID是由APNS API創建的,因此Apple知道該ID屬於該設備和應用程序。 我想,Windows和Android將以相同的方式工作。

+0

您的意思是Facebook應用程序在APNS上註冊了該設備上的身份證。 – huync

+0

在我閱讀你的答案之前,我認爲它會發送一條消息給帶有應用程序包的設備,例如com.facebook.iosapp。 APNS知道IP地址如何與每個設備ID相對應。我認爲每一個連接到互聯網或IP的變化,我的設備將發送IP地址到APNS。 – huync

+0

不使用IP地址,它基於特殊ID(APNS令牌)。該設備將聯繫APNS服務器,並保持打開一個套接字接收所有應用程序的新通知。 – rckoenes

相關問題