"You are not perfect..., that's why you are perfect."
[Geek] ทำความรู้จักกับ Google Fit ผ่าน Developer Preview แบบคร่าวๆ
8 Aug 2014 15:27   [7185 views]

เพิ่งเปิดตัวในงาน Google I/O ที่ผ่านมานี้เองกับ Google Fit ซึ่งทางกูเกิ้ลเพิ่งปล่อยตัว Developer Preview เมื่อไม่กี่ชั่วโมงมานี้เอง ก็เลยจัดการเล่นซะนิดซะหน่อย

แต่ ... ไม่มีมือถือเล่น ก็เลยทำได้แค่อ่านและทำความเข้าใจ (อยากได้ Nexus 5 มากๆ ณ จุดจุดนี้)

Platform Overview

Google Fit คืออะไร? มันคือระบบ Ecosystem แบบเปิดเพื่อให้นักพัฒนาสามารถอัพโหลดข้อมูลเกี่ยวกับสุขภาพและการออกกำลังกายขึ้นไปบน Cloud เพื่อให้เราสามารถเข้าถึงข้อมูลได้จาก Device อะไรก็ได้

... พูดง่ายๆ Google จะทำ Big Data ของข้อมูลสุขภาพเพื่อเอาไปทำอะไรสักอย่างในอนาคต ...

เทรนด์นี้มีมาตั้งแต่ปีที่แล้วเพราะทางยุโรปรักสุขภาพกันมาก อะไรที่เกี่ยวกับสุขภาพพี่เค้ายอมจ่ายหมด แล้วเทรนด์ก็ค่อยๆกระจาย จนพวก Fitness Tracker พวก FitBit เอย อะไรเอย ขายดีมากทั่วโลก

ปีนี้ทั้ง Google ทั้ง Apple จึงเปิดตัว Health Platform แข่งกันอย่างที่เห็น

กลับมาทีตัว Google Fit ระบบของมันประกอบด้วยส่วนต่างๆดังนี้

Google Fitness Store - เป็นส่วนของ Cloud ที่เอาไว้เก็บข้อมูลบนเกี่ยวกับสุขภาพและการออกกำลังกายของคุณ (Store ไม่ได้แปลว่าร้าน แต่เป็นว่าที่เก็บข้อมูล)

The Sensor Framework - เป็น Framework ที่ช่วยแปลงข้อมูลจาก Sensor ต่างๆให้อยู่ในรูปแบบที่เหมาะสมกับการเก็บบน Google Fitness Store

Permission and User Controls - ก่อนจะเริ่มทำงานกับ Fitness Data ได้ ต้องให้ผู้ใช้ยินยอมก่อน โดยใช้ OAuth ในการ Authorize มี Permission อยู่สามหมวดด้วยกันได้แก่ Activity, Body และ Location แต่ละหมวดสามารถขอสิทธิ์ในการ Read และ Write แยกจากกันได้

Google Fit APIs - ส่วนที่ใช้ติดต่อกับ Google Fitness Store มีอยู่สองส่วนด้วยกันได้แก่ Android APIs สำหรับเชื่อมต่อผ่านแอนดรอยด์ และ REST APIs สำหรับเชื่อมต่อผ่าน Platform อื่นๆ

และอย่างที่เห็นด้านบน มันออกแบบมาเพื่อให้เข้าถึงผ่าน Device อะไรก็ได้ น่าจะได้เห็นอะไรสนุกๆจากระบบนี้เยอะพอสมควร เทรนด์กำลังมา

เดี๋ยวมาดูต่อทีละส่วนกัน

Android APIs Overview

Android APIs ประกอบด้วย API 3 ส่วนด้วยกัน ได้แก่

- Sensors API - ลองนึกภาพตามดูว่าถ้าเราเชื่อมต่อกับ Fitness Tracker ผ่าน BLE แล้ว เราจะไปดึงข้อมูลจากมันมาได้ยังไง? เจ้า Sensors API นี่แหละที่จะช่วยจัดการตรงนี้ให้ ให้เราสามารถเข้าถึงข้อมูลของ Sensor ได้อย่างง่ายดาย เพื่อเอาไปใช้งานต่อไป 

- Recording API - เอาไว้บันทึกข้อมูลจาก Sensor และบันทึกขึ้น Fitness Store

- History API - เข้าถึงข้อมูลเก่าและทำได้ทั้งอ่านเขียนหรือลบ ทำได้ตามสบายผ่าน API ตัวนี้

ทำตัวให้คุ้นชินกับทั้งสามส่วน ได้ใช้หมดเลย

สำหรับตัวอย่างของทั้ง 3 APIs เตรียมตัวไปดูได้ที่ Android Samples จ้า (ที่บอกว่าเตรียมตัวเพราะเค้าเขียนว่า Coming Soon)

การ Authorize

ก่อนที่เราจะเข้าถึง Fitness Store ได้ เราต้อง Register App ของตัวเองบน Google Developers Console ก่อนแล้วก็ไปกำหนดเปิด Fitness API ให้เป็น On ซะ

จากนั้นเราก็จะสามารถเข้าถึง Fitness Store ได้ผ่าน OAuth สำหรับวิธีเต็มๆเข้าไปดูได้ในลิงค์นี้ครับ

เมื่อกระบวนทั้งหมดเสร็จสิ้น เราจะได้ Client ID มา เพื่อเอาไปใช้ในแอพฯอีกทีนึง

ตอนที่เราขอเข้าถึง Fitness Store ผ่าน API นั้น จะมีหน้าขอสำหรับขอคำยินยอมขึ้นมา (Consent Dialog)

ดังนั้นในเรื่องความปลอดภัยก็ไว้ใจได้ ไม่ใช่ใครก็ได้ที่จะเข้าถึงข้อมูลคุณ แต่คุณเองจะเป็นคนอนุญาตเท่านั้น แต่ถ้าอนุญาตมั่วก็นะ ...

Data Types

เพื่อความเป็นระเบียบและให้ง่ายต่อการประมวลผลข้อมูล (ของทั้งเราและของทั้ง Google ในการทำ Big Data) ข้อมูลที่จะเก็บบน Fitness Store จึงถูกจัดประเภทไว้อย่างชัดเจน แต่ก็เยอะเพียงพอสำหรับทุก Sensor แล้วหละมั้ง

แต่ถ้าบอกว่ามันยังไม่พอ! เราก็สามารถสร้าง Custom Data Types ได้ด้วย

DataTypeCreateRequest request = new DataTypeCreateRequest.Builder()            // The prefix of your data type name must match your app's package name            .setName("com.app.custom_data_type")            // Add some custom fields            .addField("field1", Field.FORMAT_INT32)            // Add some common fields            .addField(DataTypes.Fields.ACTIVITY)            .build();

แต่เอาให้ชัวร์นะว่าเป็นประเภทข้อมูลที่ไม่มีอยู่ในตารางด้านบนจริงๆ อย่าสร้าง Data Type ใหม่ถ้าไม่จำเป็น จะส่งผลเสียระยะยาว

ยังไม่หมด ถ้าคุณเป็นคนผลิตฮาร์ดแวร์แล้ว Data Type นั้นน่าจะมีการใช้งานหลากหลาย คุณก็สามารถสร้าง Sharable Data Types แล้ว Submit ไปให้ Google พิจารณาได้อีกด้วย หาก Google อนุมัติ Data Types นั้นก็จะถูกเขียนไว้ในหน้าเว็บของ Google Fit ให้คนไปเรียกใช้ได้

Android API Reference

โหลด API Reference แบบเต็มๆได้ที่ Google Fit Developer Preview reference จ้า ทั้งหมดทั้งมวลจะอยู่ในแพคเกจ com.google.android.gms.fitness

 
เท่าที่อ่านดู ถือว่า Google ทำการบ้านมาดี เตรียมพร้อมมากๆและทำเป็นระบบเปิดแบบจริงจัง หากขาดอะไรก็เสียบเข้าไปเพิ่มเองได้ทันที ถ้า Data Types ไม่มีก็ใส่เพิ่มได้ ถ้า Device ไม่ Support (ไม่ได้ Implement Bluetooth Low Energy GATT Profile ไว้) ก็สามารถเขียน Service มารองรับให้มันใช้งานได้ได้อีกแหนะ น่าจะมี Potential สูงมาก หากใครสนใจ Wearable ไม่ว่าจะเป็นประเภทไหนก็ตาม ลองจับ Google Fit ไว้ครับ =)

ก็คงขอจบเพียงเท่านี้ เนื่องจากข้าพเจ้าไม่มี Device เล่น ก็เลยเขียนคร่าวๆได้แค่นี้ (คือไม่มีอะไรเลย Nexus เอย Fitness Tracker เอย ใครอยากบริจาคส่งมาได้ที่ ..... ล้อเล่น) ที่เหลือลองเข้าไปอ่านในเว็บ Google Fit Developer ดูครับ อ่านสนุกๆ =)

บทความที่เกี่ยวข้อง

Aug 19, 2014, 04:51
5216 views
บันทึกการทำ Material Design ใช้บน "iOS" ด้วย Swift น่อย
Aug 5, 2014, 17:59
5126 views
มีอะไรใหม่สำหรับ Swift Language ใน Xcode 6 beta 5
0 Comment(s)
Loading