ไม่ได้เขียนข่าวบน DroidSans นานแล้วนะเนี่ย ^ ^ วันนี้มาเขียนในเชิงเทคนิคหน่อยละกันครับ โดยเทคโนโลยีที่จะเอามาเล่าให้ฟังกันนี้เป็นเทคโนโลยีเกี่ยวกับระบบ Push ที่เรียกได้ว่าเป็น Game Changer เลยก็ว่าได้และถูกผูกมากับ Android 2.2 นามว่า Cloud to Device Messaging หรือชื่อสั้นๆเท่ๆว่า C2DM
Push คืออะไร?
ก่อนจะก้าวไปยังเรื่อง C2DM ก็ขอพูดเรื่อง Push ก่อนนิดนึงละกัน
“Push” มีนิยามง่ายๆคือเทคโนโลยีในการส่งข้อมูลไปยังโทรศัพท์มือถือ ไม่ว่าจะเป็นทางใด ตัวอย่าง Push ในยุคเก่าก็จะมีสิ่งที่ทุกคนคุ้นเคยคือ SMS และอีกอย่างที่เป็น URL โฆษณาพักหลังๆที่ขี่มาพร้อม SMS อันนั้นก็จะเรียกว่า WAP Push
ในยุค 2.5G – 3G นี้ การ Push ข้อมูลประเภท Data Package ผ่านทาง EDGE/3G ถือว่ามีความสำคัญมากอย่างที่เห็นได้จาก Blackberry ที่มี Push Technology ทำให้สามารถรับเมลได้ทันทีที่มีเมลเข้ามา เหมือนกับได้รับ SMS ทันทีที่มีคนส่งมาไม่มีผิด ด้วยความฉับไวและทันเหตุการณ์ (Real Time) นี้เอง ทำให้ทุกคนต้องการมันมากมาย
สำหรับเทคโนโลยีที่ทำงานได้คล้ายกันแต่ด้านหลังทำตรงกันข้ามคือ “Polling” สิ่งที่มันทำคือมันจะคอย Refresh ตัวเองและติดต่อไปยัง Server ตลอดเวลา ข้อเสียที่เห็นได้ชัดเลยคือ “เปลืองแบตมาก” ถ้าเทียบกับ Push ที่นั่งเฉยๆแล้วรอมีคนส่งข้อมูลเข้ามานี่ กินแบตต่างกันมากกว่า 2 เท่าเลยทีเดียวเชียวแหละ
[br]
C2DM ทำงานยังไง
เข้าใจเรื่อง Push กันไปแล้ว งั้นมาถึงเรื่อง C2DM กันมั่ง
Push บน Android เป็นสิ่งที่หลายคนเรียกร้องกันมาก ทาง Google เลยไม่รอช้า ผลักมันออกมาพร้อมกับ Android 2.2 เรียบร้อย (ไม่รอช้า แต่ล่อซะ 2.2 เลย) โดยใช้อุปกรณ์เพิ่มเติมเพียงอย่างเดียวคือ Server สำหรับยิงข้อมูลไปให้ C2DM Frontend เพื่อยิงต่อไปยังมือถืออีกที สำหรับ Life Cycle ของเจ้า C2DM จะเป็นดังภาพ
ตามลำดับคือ
1) Application บนมือถือติดต่อไปยัง Server ของ Google เพื่อรับ Registration ID มา
2) Application ส่ง Registration ID ที่ได้รับมาไปให้ Application Server ของเราและให้ Server จำ Registration ID นี้ไว้ เท่านี้มือถือก็จะเชื่อมกับระบบ C2DM เรียบร้อย
3) เมื่อต้องการ Push ข้อมูลเข้าไป ทาง Server ของเราจะส่งข้อมูลพร้อม Registration ID ไปยัง C2DM Frontend ซึ่งอยู่ใน Cloud แล้วทาง Frontend จะส่งต่อไปยัง Connection Server เพื่อ Push ไปยัง Service ในมือถือ
4) เมื่อ Background Service C2DM ของระบบ Android ในมือถือได้รับข้อความจาก Server ก็จะทำการส่งข้อมูลนี้ไปให้โปรแกรม จากนั้นโปรแกรมจะทำอะไรก็เรื่องของมัน!!
ทั้งนี้ยังไม่แน่ใจว่า Background Service C2DM นี้ทำงานแบบไหน จะ Polling หรือจะใช้วิธีเแบบ Gmail Chat คือต่อ Socket ค้างไว้ แต่จากการทดสอบพบว่าไม่เปลืองแบตเตอรี่แต่อย่างใด
ตัวอย่างนึงของ C2DM ที่ทางกูเกิ้ลเอาออกมาเดโมก็คือ Chrome to Phone ที่เป็นการยิงเว็บจาก Chrome ไปยังโทรศัพ์มือถือให้เปิดเว็บนั้นๆขึ้นมาบนมือถือทันที
อีกโปรแกรมที่ทำออกมาใช้จริงแล้วและน่าสนใจมากคือ AppBrain ที่เราสามารถเลือกโหลดแอพฯจากเว็บได้และตัวมือถือจะเด้งโหลดให้ทันที เจ๋งมั้ยหละ ^_^
อย่างที่บอก เจ้า C2DM ถือเป็น Game Changer ตัวหนึ่ง จากนี้จะได้เห็นแอพฯที่ใช้ C2DM ออกมาเรื่อยๆ ดังนั้นขอให้จำชื่อเทคโนโลยีนี้ไว้ให้ดี เวลาเห็นจะได้ไม่งงนะจ๊ะ 😀
Reference: C2DM Project, Android Me Up, Android Developers Blog
ขอบคุณครับ เปิดกะโหลกมากมาย 🙂
..สำหรับ Life Cycle ของเจ้า C2DM จะเป็นดังภาพ..
ผมก็ว่าโอเคดี ยอมตั้ง server push แบบ BB จะได้ใช้กันมากๆ BB มีภาษีตรงมี server ใช้ใช้ฟรีนี่แหละ แต่ แอนดรอยมีด้วย น่าจะชนกะ BB กันซักยก แต่กลัวว่าเมื่อนิยมเยอะจะโดนปัญหาข้อมูลสำคัญแบบที่ BB โดนแบนอยู่ ยิ่งกูเกิ้ลมีข่าวเรื่องละเมิดความเป็นส่วนตัวอยู่เนืองๆแล้วด้วย
ส่วนผมความรู้น้อย อ่านแล้วงงครับ
จำไว้แค่ว่า c2dm คือ push ส่งมาที่มือถือเรานะครับ
ผมขอจำแบบนี้ด้วยคนนะครับ
แล้วก็สรุปได้ว่า android ก็ทำแบบบีบีได้
เข้าใจถูกป่าวหว่า ^^
อ่า ผมอีกคนครับ 🙂
Alp brain สุดยอดจริงๆลงโปรง่ายสุดๆเพื่อนคนไหนsearch ของไม่เจอเว็บนี้เจอแน่นอน ยิ่งถ้าเพิ่งอัพเวอชั่น หรือ format factory ยิ่งสดวกไม่ต้องมาไล่ลงให้เมื่อยนิ้ว
ผมหา App. mobypicture ไม่เจอ ก็เจอ Appbrain นี่แหละครับ
ขอบคุณครับ สำหรับความรู้
เมื่อไรห่จะมีแชตกันสักทีเนอะ
เอาไป 5 กะโหลกคับ
สุดยอดค่ะ !
ได้ความรู้เพิ่มเติมมากเลย ขอบคุณมากๆ ครับ : )
แจ่ม น้องแอนไม่ทำมะดาอยู่ละ อิอิ
อยากรู้จิงๆเลย เมื่อวันที่มันก้าวไปเป็น 3.0,4.0 หรือ 5.0 มันจะแจ่มขนาดไหนกันน้า
ปล. แต่แอบกลัวว่า เมื่อถึงเวลานั้น เครื่องเราจะไม่มีให้ลง ฮิๆ แต่ยังไงก็คงจะเก่าเกินไปแล้วมั้ง
ถึงวันนั้นคงจะเป็น 6G, 7G ดู Google earth แบบ Hologram สามมิติ ยิงจาก Front camera แสดงผลในอากาศ
อวกาศได้ใจมากกกก
+10 !
ขอแนะนิดนึง:
็Hologram 3D นั้นจะแสดงในอากาศได้แสงต้องสะท้อน วัตถุมาเข้าตาเรา อย่างกระจก หรือไอน้ำ อยู่ๆมันจะลอยๆ ขึ้นมาเองนั้นยังทำไม่ได้นะครับ
ทราบครับ แค่โพสขำๆ
ขอบคุณครับ สำหรับความรู้ดีดี มากมายครับ
อ้าว App brain ก็ใช่เหรอ ใช้ไปโดยไม่รู้ตัวแฮะ นึกว่าเป็นแค่ sync ธรรมดาๆ
ขอบคุณนะคร้าบ
ใน 2.2 นะครับที่ใช้ C2DM
ใน 2.1 ลงมา ยังทำได้แค่ syc ธรรมดา ^.^
อ่อ Get แล้วครับ ขอบคุณครับ
awesome dude
รอ FROYO มาจุติในน้องมายด์ผมก่อน …
มันเป็นอะไรที่สุดยอดมาก เฝ้ารอ Froyo เหมือนกัน
แต่ผมมีข้อสงสัยนิดนึงครับ ตอนนี้ผมใช้ HTC Legend Android 2.1-update1
ผมลองเข้าไปดูใน "General sync settings" โดยจะมี 2 กลุ่มคือ
1) ไม่ สามารถตั้งค่า Refresh ได้
– Google Mail
2) สามารถตั้งค่า Refresh ได้ ขั้นต่ำ 5 นาที คือระบบ "Polling" เปลืองแบตมาก
– Facebook
– Flickr
– Twitter
– Weather
คำถามคือ ทำไม Google Mail ถึงไม่สามารถตั้งค่า Refresh ได้ มันคือ ระบบ Push หรือเปล่า?
เพราะผมสังเกตุว่าถ้ามี Email เข้ามามันจะเตือนเร็วมาก และถ้ามีการทำธุรกรรมผ่านออนไลน์ ที่ต้องมีการแจ้งเตื่่อนผ่าน SMS ด้วยแล้ว บางครั้ง Google Mail มาก่อน SMS ด้วยซ้ำ
ขอบคุณครับ
Gmail เป็น Push ครับ ส่วน C2DM ก็จะใช้ Connection เดิมที่มีอยู่แล้วใน Google Service (แต่ไม่บอกว่าอะไร อาจจะเป็น Gmail นี่แหละ) ในการทำงาน Push สำหรับ 3rd Party Application
สรุปคือ 2.1 Gmail ก็ Push ได้แล้วครับแต่ 3rd Party App ยังไม่ได้ ^_^
ขอบคุณสำหรับ ความกระจ่างครับผม ^_^
ขอบคุณที่ถามด้วยคับ มันทำให้ผมได้รู้ด้วย 🙂
ผมว่า C2DM ไม่ใช่แค่ PUSH อย่างที่ Rep ข้างบนเข้าใจนะ
, โดย PUSH เป็นแค่ด้านเดียวของ C2DM
ผมเข้าใจว่า ถ้าคุณเป็นบริษัทหนึ่งๆ คุณจะสร้าง app ใดๆก็ได้ ที่ยอมตาม C2DM frontend แล้ว แค่นี้คุณก็ Push สิ่งต่างๆ จากโปรแกรมคุณ ไปยัง cell phone ที่ register รับ app ของคุณได้.
ที่ระบบนี้ดูเหนือกว่าระบบ mail และ chat ของ BB ก็คือมันทำอย่างอื่นให้เป็น Push ก็ได้ไม่จำกัดแค่ e-mail กะ Chat เช่นว่า
1 มองว่าคุณเป็นบริษัททำหนังสือ Magazine โดยคุณอาจจะส่ง Magazine Online ไปยังลูกค้าที่เป็นสมาชิกกับคุณ ทั้งฉบับ เข้ามือถือของลูกค้าโดยตรงทุกเดือน,
2 หรือว่าคุณเป็นบริษัทท่องเที่ยว เวลามีโปรโมชั่นดีๆ คุณก็ส่งโปรนั้นไปให้ สมาชิกที่บอกรับข่าวสารจากคุณทางมือถือได้ทันที
3 ระบบที่จดจำ ว่าคุณเคยลงโปรแกรมอะไรไว้ และมี contact อะไรบ้าง รูปภาพอะไรบ้างใน มือถือคุณ ทีนี้เวลาคุณเบื่อมือถือเก่าแล้ว อยากเปลี่ยนมือถือใหม่ เวลาย้ายโปรแกรมหรือ contact และอื่นๆ ที่อยู่ใน sd card จะสามารถ ย้ายได้ง่ายๆ แค่คลิ๊กเดียวผ่านระบบ C2DM ไปเลย. ขอให้มี Register ID เท่านั้น. ไม่ต้องมา sync contact, sync e-mail อะไรให้วุ่นวาย แบบสมัยใช้ windows mobile phone เวลาเปลี่ยนมือถือมันจะยุ่งยากพอควร เวลาย้ายข้อมูล.
ปัญหาคือว่า: เครื่องมือถือถ้าอยากเป็น push จริงๆ ก็ต้องต่อ Net ตลอดเวลา ค่าเน็ต แบบ unlimited บ้านเรา เืดือนละ 1000 บาท ถ้าปีนึง ก็ 12,000 บาท เราจะยอมรับได้ไหมกับค่าเน็ตที่ซื้อน้องดรอยได้ครึ่งค่อนเครื่องไปแล้ว
ขอบคุณ สำหรับคำอธิบายครับผม
ตอนนี้ HTC Legend ของผมอัพ ROM เป็น Android 2.2 (CyanogenMod-6.0.0-Legend) เรียบร้อยแล้ว
เดี๋ยวจะทดลอง C2DM ดูสะหน่อย มันน่าสนในมากเลย
http://code.google.com/android/c2dm/
http://code.google.com/p/jumpnote/