Upgrade to Pro — share decks privately, control downloads, hide ads and more …

透過 GCM 實作跨裝置資料同步

透過 GCM 實作跨裝置資料同步

Rogery Yang

July 25, 2013
Tweet

Other Decks in Technology

Transcript

  1. •  關於 Rogery  &  KKBOX  Android  Team   •  Concept

     &  Idea   •  Implement   •  Demo   •  Q  &  A   Agenda
  2. •  從 Android  1.0  開始研發 KKBOX  Android,   開發經驗至今已四年以上  

      •  在 KKBOX  擔任 Android  Team  Leader     •  熱愛音樂創作的工程師 http://youtu.be/IwsNKobAkS0   關於 Rogery
  3. •  產品:KKBOX  Android,  KKBOX  Music  Store,  UtaPass   •  裝置:Handset,

     Tablet,  STB 和車機   •  團隊人數從 1 人到 11 人   關於 KKBOX Android Team
  4. GCM (Google Cloud Message) •  幫助開發者發送推播訊息到各個 Android 裝置   • 

    首次在 Google  IO  2012 亮相   •  前身是 C2DM  (Cloud  to  Device  Messaging)  
  5. Polling vs Pushing •  Polling: 每個裝置定期去向 Server 問目前最新的狀態   • 

    目前 KKBOX 實作歌單同步的方式   •  容易實作   •  耗電:手機一直送連線、Server 一直收連線  
  6. Polling vs Pushing •  Pushing: 當 Server 有狀態更新時去通知裝置    

    •  省電:連線數降低、Server  Loading 降低  
  7. Registration (1) (2) (3) 1.  register  GCM  -­‐  ref.1  

    2.  return  GCM  registraPon  ID  - ref.1 ref.2   3.  put  registracPon  ID  to  server  -­‐  ref.3  
  8. Push & Sync (2) (3) (1) 1.  push change to

    server -­‐  ref.1  ref.2   2.  send  sync  message  to  GCM  -­‐  ref.3   3.  client  receive  sync  message  from  GCM  -­‐  ref.4     4.  pull  change  from  server  -­‐  ref.5   5.  return  change  to  client  -­‐  ref.6   (4) (5)
  9. References •  C2DM - https://developers.google.com/android/c2dm/   •  GeYng  Started  with

     GCM  –  Android  Developer   -­‐  http://developer.android.com/google/gcm/gs.html   •  Google  Cloud  Messaging  for  Android  –  Google  I/O  2012   -­‐  https://developers.google.com/events/io/2012/sessions/gooio2012/100/   •  StopWatch  Demo  –  Google  I/O  2013   -­‐  http://bradabrams.com/2013/06/google-io-2013-demo-android-studio- cloud-endpoints-synchronized-stopwatch-demo/