2012年8月8日 星期三

GCM - Google Cloud Messaging FAQ

Google Cloud Messaging(GCM)是一個完全免費的推播服務,也就是能夠讓短訊息由客戶的第三方伺服器透過 Google 發給每個移動裝置的一個服務。

GCM 的前身 Cloud to Device Messaging(C2DM)服務也已經在2012年06月26號正式 Deprecated,不再接受註冊,必須改用 GCM。目前已有的 C2DM 仍可繼續使用。

使用限制

  1. Android 2.2 以上
  2. 有開啟 Google 服務的背景傳輸
  3. Android 4.0.4(不含)之前的手機要有一個 Google 帳號。

參數解釋

Client Side

  • Sender ID
    • 代表發送者的 ID。
    • 最多 100 個,超過以逗號隔開,如:"12345678,43218765"
    • 在 App 內指定要收哪些發送者的,用逗號隔開,App 收到時會包含此 ID。也就是說可以做不同角色的發送。

Server Side

  • collapse_key
    • Google 最多會存 4 個,超過不保證哪個會被忽略。
    • 如果今天是新郵件通知,使用者在關機時收到 100 個郵件,你不會希望使用者在手機打開時收到 100 次通知,就可以指定 collapse_key 讓使用者只會收到 1 次新郵件通知。
  • time_to_live
    • 最少 0 秒,最多 2,419,200 秒(3天)。
    • 某些通知所要傳達的事件可能是有時效性的,例如:有視訊電話打來、行事歷通知、奧運即時賽況分數…
    • 常常會和 delay_while_idle 設成 true 一起用。
  • registration_ids
    • 要發送的裝置 ID,每個 request 最多 1000 個。
  • data
    • 發送的內容,長度限制 4kb。
  • delay_while_idle
    • 如果裝置收不到,等到上線才會收到。

常見問題

  • Sender ID
    • 在 APIs Console 瀏覽器網址列的 Project 那串數字。
  • Sender Auth Token
    • Server 向 Google 發送推播的驗證
    • 在 APIs Console 的 Simple API Access 中的 API key

  • Registration ID
    • 由 Google 取回代表此裝置的 ID,要送給 Server 存起來。

沒有留言:

張貼留言