23 December 2011
前一篇在講參數說明
這篇專注於流程說明
第三篇在講Server端的實作
第四篇在講Android端的實作

Android C2DM的實作步驟大概分為下列三項:
  • Enabling C2DM :在Android Device上啟動C2DM準備receive訊息。
  • Sending a message:Server傳遞訊息至Device
  • Receiving a message:Android上收來自C2DM Server的訊息
下面是個三項的說明流程,

1. Enabling C2DM
  1. 首先要先啟動一個registration Intent到C2DM的SERVER (com.google.android.c2dm.intent.REGISTER),且這Intent必須但兩個參數,第一個是SENDER ID,第二個是application ID參數說明請看這。
  2. 如果這個registration成功了,C2DM的Server會回傳(broadcast)一個registration ID,這時候Android applicaiton要把這registration ID先存起來,待會用。(Google可能會一段時間就去refresh這個registration ID)
  3. 完成註冊以及取得resgistration ID以後,Android App必須把此ID傳到自己的server上去。Server一樣得把這ID存起來。
註:register ID會存活直到你unregister,或者直到Google refresh為止。



2. Sending a message
  1. 在send a message之前,必須確認Android appSever上已經有 resgistration  ID了,以及Sever必須有ClientLogin authorization token. 至於怎麼取得這個token,可以去看Google官網說明
  2. 完成上面的以後,首先,Sever必須先send訊息至C2DM Sever上
  3. Google收到以後,會先存起來,以免Android device是inactive的狀態。
  4. 當Device是online的狀態,Google就會send訊息至device上。



3. Receiving a Message
  1. 首先Android OS會先收到這則Message,
  2. 接著Android OS會把這則訊息,會根據package name發送到含有註冊com.google.android.c2dm.intent.RECEIVE的app上去
  3. 最後,該app就會從自己註冊的RECEIVER的Intent裡收到message,就可以處理資料了。



下一篇會講如何去實作。












blog comments powered by Disqus