Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
透過 GCM 實作跨裝置資料同步
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Rogery Yang
July 25, 2013
Technology
230
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
透過 GCM 實作跨裝置資料同步
Rogery Yang
July 25, 2013
Other Decks in Technology
See All in Technology
bpf_arenaとstruct_opsを使うのが難しかった話
masu_mi
0
200
生成AI時代のIAMのマニアックな話
takuros
6
2.6k
IoTとは〜? 数字で見るSORACOM UG【SORACOM UG Explorer 2026】
soracom
PRO
0
190
なぜ東京にいる私が、新潟の技術コミュニティを運営するのか by 八雲慎之助
yakumo
0
220
お客様の「やりたい」の先を見通す合意形成プロセス ~裏にある課題と不安を解きほぐすコツ~
yukakoseki
0
110
Technical Project Manager の役割とやりがい、少しだけ AI
yoshiiryo1
0
600
Copilot Coworkで「みのるん式」やってみた
minorun365
PRO
2
1.6k
AIコーディングはじめました
miso
0
150
DBTS2026 盛り上がってますか!?Databricksが実現するAI時代のデータ基盤
akuwano
1
180
In-Context Learning再入門。ICLの勾配降下的解釈の研究動向を追ってみる。
dai08srhg
1
550
Gifu WordPress Meetup #200 に向けて、私たちには何ができるだろうか?/ 2026-11-07 Gifu WordPress Meetup
torounit
0
180
cdkd (CDK Direct)
gotok365
4
250
Featured
See All Featured
Building Applications with DynamoDB
mza
96
7.3k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
370
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
33
5.6k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
570
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.6k
Unsuck your backbone
ammeep
672
58k
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
370
Writing Fast Ruby
sferik
630
63k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
3.1k
Are puppies a ranking factor?
jonoalderson
2
4.1k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.9k
Transcript
Rogery! Android Team Leader! 透過 GCM 實作跨裝置資料同步 @Android Taipei
• 關於 Rogery & KKBOX Android Team • Concept
& Idea • Implement • Demo • Q & A Agenda
• 從 Android 1.0 開始研發 KKBOX Android, 開發經驗至今已四年以上
• 在 KKBOX 擔任 Android Team Leader • 熱愛音樂創作的工程師 http://youtu.be/IwsNKobAkS0 關於 Rogery
• 產品:KKBOX Android, KKBOX Music Store, UtaPass • 裝置:Handset,
Tablet, STB 和車機 • 團隊人數從 1 人到 11 人 關於 KKBOX Android Team
Concept & Idea
GCM (Google Cloud Message) • 幫助開發者發送推播訊息到各個 Android 裝置 •
首次在 Google IO 2012 亮相 • 前身是 C2DM (Cloud to Device Messaging)
KKBOX use GCM • Push NoPficaPon: 推播跟隨的臺長已經上線訊息 • 只用在訊息通知
Concept & Idea 直到我看見…
Google IO 2013 – StopWatch Demo
Concept & Idea 怎麼能那麼即時同步?
Concept & Idea Think: KKBOX 能用在哪裡?
Concept & Idea 歌單立即同步?!
Polling vs Pushing • Polling: 每個裝置定期去向 Server 問目前最新的狀態 •
目前 KKBOX 實作歌單同步的方式 • 容易實作 • 耗電:手機一直送連線、Server 一直收連線
Polling vs Pushing • Pushing: 當 Server 有狀態更新時去通知裝置
• 省電:連線數降低、Server Loading 降低
Implement
POC KKGCMSyncServer (Google App Engine) KKGCMSyncClient
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
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)
Demo 1 POC: GCMSyncList
Demo 2 KKBOX GCM Sync
Demo Source • KKGCMSyncServer – GitHub - https://github.com/rogery/KKGCMSyncServer • KKGCMSyncClient
– GtiHub - https://github.com/rogery/KKGCMSyncClient
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/
None
Thank You
[email protected]
Rogery Yang 楊哲豪(Rogery)