Google Fit มีชุดข้อมูลประเภทข้อมูลด้านสุขภาพและความแข็งแรงสมบูรณ์ภายใต้เนมสเปซ com.google
ประเภทข้อมูลจะกำหนดรูปแบบของค่าภายในจุดข้อมูล จุดข้อมูลสามารถแสดงถึงสิ่งต่อไปนี้
- การอ่านหรือการสังเกตการณ์ทันที
- ข้อมูลรวมพร้อมสถิติในช่วงเวลาหนึ่ง
Google Fit กำหนดประเภทข้อมูลสำหรับการสังเกตการณ์แบบทันทีและประเภทข้อมูลสำหรับข้อมูลรวม จุดข้อมูลประกอบด้วยค่าสำหรับช่องประเภทข้อมูลและข้อมูลการประทับเวลา จุดที่แสดงการสังเกตการณ์ทันทีรวมถึงการประทับเวลา และจุดของประเภทข้อมูลแบบรวมจะรวมเวลาเริ่มต้นของช่วงเวลานั้นๆ ด้วย
Google Fit ยังให้คุณกำหนดประเภทข้อมูลใหม่ๆ ด้วย
กลุ่มประเภทข้อมูล
Google Fit มีข้อมูลประเภทต่างๆ ต่อไปนี้
- ประเภทข้อมูลสาธารณะ
- ประเภทข้อมูลมาตรฐานที่แพลตฟอร์มให้ไว้จะมีคำนำหน้าเป็น "com.google" เช่น com.google.step_count.delta ข้อมูลประเภทเหล่านี้จะบันทึกค่าต่างๆ ที่อ่านได้ทันที เพื่อเป็นข้อมูลด้านสุขภาพและความแข็งแรงสมบูรณ์ ซึ่งรวมถึงกิจกรรมการออกกำลังกาย การนอนหลับ และโภชนาการ ทุกแอปสามารถขอสิทธิ์ที่เกี่ยวข้องในการอ่านและเขียนไปยังข้อมูลประเภทต่างๆ เหล่านี้ได้ ยกเว้นข้อมูลตำแหน่งไม่กี่ประเภทที่แอปที่เขียนเท่านั้นจะอ่านได้
ดูข้อมูลเพิ่มเติมได้ที่
- ประเภทข้อมูลสุขภาพ
- ประเภทข้อมูลที่ได้จากแพลตฟอร์มซึ่งจำกัดการเข้าถึงเนื่องจากอาจมีข้อมูลที่ละเอียดอ่อน ดูข้อมูลเพิ่มเติมได้ที่ประเภทข้อมูลสุขภาพ
- ประเภทข้อมูลรวม
- ประเภทข้อมูลสำหรับอ่านข้อมูลด้านสุขภาพและความแข็งแรงสมบูรณ์ที่รวบรวมตามเวลาหรือประเภทกิจกรรม ดูข้อมูลเพิ่มเติมได้ในประเภทข้อมูลรวม
- ประเภทข้อมูลส่วนตัวที่กำหนดเอง
- ประเภทข้อมูลที่กำหนดเองซึ่งกำหนดโดยแอปหนึ่งๆ เฉพาะแอปที่กำหนดประเภทข้อมูลเท่านั้นที่จะอ่านและเขียนข้อมูลประเภทนี้ได้ ดูข้อมูลเพิ่มเติมได้ที่ ประเภทข้อมูลที่กำหนดเอง
การใช้ประเภทข้อมูล
Android
ใน Android ประเภทข้อมูลหมายถึงช่องสาธารณะของคลาส DataType
วิธีเรียกใช้ Fitness API ด้วยประเภทข้อมูลขึ้นอยู่กับเป้าหมายที่คุณต้องการ
- หากต้องการบันทึกข้อมูล ให้ใช้ Recording API เพื่อสร้างการสมัครใช้บริการสำหรับข้อมูลแต่ละประเภทที่คุณต้องการบันทึก
- หากต้องการอ่านข้อมูล ให้ใช้ History API เพื่อส่งคำขอการอ่านสำหรับข้อมูลแต่ละประเภท
- หากต้องการแทรกข้อมูลย้อนหลังในอดีต ให้ใช้ History API เพื่อส่งคำขอแทรกสำหรับข้อมูลแต่ละประเภท
- หากต้องการสร้างเซสชัน ให้ใช้ Sessions API เพื่อแทรกหรือบันทึกข้อมูลด้วยข้อมูลเมตาของเซสชัน
หากต้องการสร้างจุดข้อมูลสำหรับออบเจ็กต์ DataType
ที่มีอยู่ ให้กำหนดค่าด้วยรูปแบบที่ถูกต้อง ตัวอย่างต่อไปนี้แสดงวิธีกําหนดรายการอาหารเป็นสตริง ประเภทอาหารเป็นค่าคงที่จากคลาส Field
และปริมาณสารอาหารเป็นค่าลอยตัวที่เชื่อมโยง
val nutritionSource = DataSource.Builder() .setDataType(DataType.TYPE_NUTRITION) ... .build() val nutrients = mapOf( Field.NUTRIENT_TOTAL_FAT to 0.4f, Field.NUTRIENT_SODIUM to 1f, Field.NUTRIENT_POTASSIUM to 422f ) val banana = DataPoint.builder(nutritionSource) .setTimestamp(now, TimeUnit.MILLISECONDS) .setField(Field.FIELD_FOOD_ITEM, "banana") .setField(Field.FIELD_MEAL_TYPE, Field.MEAL_TYPE_SNACK) .setField(Field.FIELD_NUTRIENTS, nutrients) .build()
หลังจากตั้งค่าจุดข้อมูลในแอปแล้ว คุณจะแทรก อ่าน หรือลบข้อมูลประวัติได้ด้วย History API
REST
ทรัพยากร dataSources
มีประเภทข้อมูล (และรายการช่อง) สำหรับแหล่งข้อมูลแต่ละแหล่ง คุณจะระบุประเภทข้อมูลประเภทใดประเภทหนึ่งได้ขณะสร้างแหล่งข้อมูล และจะดูชื่อประเภทข้อมูลและรายการช่องของประเภทข้อมูลดังกล่าวได้เมื่อดึงข้อมูลจากพื้นที่เก็บข้อมูลฟิตเนส
ตัวอย่างเช่น การนำเสนอแหล่งข้อมูลจะระบุประเภทข้อมูลดังนี้
{ "dataStreamId": "exampleDataSourceId", ... "dataType": { "name": "com.google.step_count.delta" }, ... }
ขอบเขตการให้สิทธิ์
ขอบเขตการให้สิทธิ์จะครอบคลุมกลุ่มของประเภทข้อมูลที่ผู้ใช้สามารถให้สิทธิ์แอปเข้าถึงได้ เพื่อช่วยให้ผู้ใช้ทราบว่าแอปต้องการเข้าถึงข้อมูลประเภทใด และยังทำให้การให้สิทธิ์แอปใช้ข้อมูลเหล่านั้นได้ง่ายขึ้น โดยไม่ต้องอนุมัติข้อมูลแต่ละประเภท ผู้ใช้จะให้สิทธิ์เหล่านี้เมื่อดาวน์โหลดแอปของคุณแล้ว
![ตัวอย่างหน้าจอขอความยินยอมขอบเขต OAuth](https://developers-dot-devsite-v2-prod.appspot.com/static/fit/images/OAuth_scopes_example.png?authuser=4&hl=th)
หลังจากที่คุณทดสอบแอปกับผู้ใช้กลุ่มเล็กๆ แล้ว คุณต้องขอรับการยืนยันตามขอบเขตที่เกี่ยวข้องกับประเภทข้อมูลเหล่านั้นก่อนที่จะเปิดใช้งานแอป อ่านหน้าประเภทข้อมูลที่ลิงก์ด้านบนเพื่อทำความเข้าใจว่าขอบเขตใดมีผลกับข้อมูลแต่ละประเภท
ตัวอย่างเช่น หากแอปจำเป็นต้องอ่านและเขียนความดันโลหิต แอปจะต้องประกาศว่ากำลังอ่านและเขียน รวมถึงขอทั้ง 2 ขอบเขต หากเขียนแค่ข้อมูลความดันโลหิต ลงในแพลตฟอร์ม Google Fit ก็เพียงแค่ขอขอบเขตการเขียน
เลือกประเภทข้อมูลอย่างมีความรับผิดชอบ อย่าขอข้อมูลทุกประเภทเผื่อกรณีที่แอปอาจต้องการใช้ ประเภทที่ระบุจะเป็นตัวกำหนดขอบเขตที่ระบบจะแจ้งให้ผู้ใช้ให้สิทธิ์ ขอเฉพาะประเภทข้อมูลที่แอปต้องการเพื่อให้ผู้ใช้ มีแนวโน้มที่จะให้สิทธิ์เข้าถึง ผู้ใช้พร้อมที่จะให้สิทธิ์เข้าถึงขอบเขตที่จำกัดและอธิบายไว้อย่างชัดเจนมากกว่า
ใช้ตารางนี้เพื่อตรวจสอบว่าขอบเขตที่แอปของคุณต้องการเข้าถึงมีความละเอียดอ่อนหรือถูกจำกัดหรือไม่ (ซึ่งจะเป็นตัวกำหนดขั้นตอนการยืนยันที่คุณจะต้องทำตาม)
ขอบเขต | คำอธิบาย | หมวดหมู่ |
---|---|---|
https://www.googleapis.com/auth/fitness.activity.read |
อ่านข้อมูลกิจกรรมจากแพลตฟอร์ม Google Fit | ถูกจำกัด |
https://www.googleapis.com/auth/fitness.activity.write |
เขียนข้อมูลกิจกรรมลงในแพลตฟอร์ม Google Fit | ถูกจำกัด |
https://www.googleapis.com/auth/fitness.blood_glucose.read |
อ่านข้อมูลน้ำตาลกลูโคสในเลือดจากแพลตฟอร์ม Google Fit | ถูกจำกัด |
https://www.googleapis.com/auth/fitness.blood_glucose.write |
เขียนข้อมูลน้ำตาลกลูโคสในเลือดไปยังแพลตฟอร์ม Google Fit | ถูกจำกัด |
https://www.googleapis.com/auth/fitness.blood_pressure.read |
อ่านข้อมูลความดันเลือดจากแพลตฟอร์ม Google Fit | ถูกจำกัด |
https://www.googleapis.com/auth/fitness.blood_pressure.write |
เขียนข้อมูลความดันโลหิตไปยังแพลตฟอร์ม Google Fit | ถูกจำกัด |
https://www.googleapis.com/auth/fitness.body.read |
อ่านข้อมูลการวัดขนาดร่างกาย (ความสูง น้ำหนัก เปอร์เซ็นต์ไขมันในร่างกาย) จากแพลตฟอร์ม Google Fit | ถูกจำกัด |
https://www.googleapis.com/auth/fitness.body.write |
เขียนข้อมูลการตรวจวัดร่างกายไปยังแพลตฟอร์ม Google Fit | ถูกจำกัด |
https://www.googleapis.com/auth/fitness.body_temperature.read |
อ่านข้อมูลอุณหภูมิร่างกายจากแพลตฟอร์ม Google Fit | ถูกจำกัด |
https://www.googleapis.com/auth/fitness.body_temperature.write |
เขียนข้อมูลอุณหภูมิร่างกายลงในแพลตฟอร์ม Google Fit | ถูกจำกัด |
https://www.googleapis.com/auth/fitness.heart_rate.read |
อ่านข้อมูลอัตราการเต้นของหัวใจจากแพลตฟอร์ม Google Fit | ถูกจำกัด |
https://www.googleapis.com/auth/fitness.heart_rate.write |
เขียนข้อมูลอัตราการเต้นของหัวใจไปยังแพลตฟอร์ม Google Fit | ถูกจำกัด |
https://www.googleapis.com/auth/fitness.location.read |
อ่านข้อมูลตำแหน่งจากแพลตฟอร์ม Google Fit | ถูกจำกัด |
https://www.googleapis.com/auth/fitness.location.write |
เขียนข้อมูลตำแหน่งไปยังแพลตฟอร์ม Google Fit | ถูกจำกัด |
https://www.googleapis.com/auth/fitness.nutrition.read |
อ่านข้อมูลโภชนาการจากแพลตฟอร์ม Google Fit | ถูกจำกัด |
https://www.googleapis.com/auth/fitness.nutrition.write |
เขียนข้อมูลโภชนาการลงในแพลตฟอร์ม Google Fit | ถูกจำกัด |
https://www.googleapis.com/auth/fitness.oxygen_saturation.read |
อ่านข้อมูลความเข้มข้นของออกซิเจนในเลือดจากแพลตฟอร์ม Google Fit | ถูกจำกัด |
https://www.googleapis.com/auth/fitness.oxygen_saturation.write |
เขียนข้อมูลความอิ่มตัวของออกซิเจนไปยังแพลตฟอร์ม Google Fit | ถูกจำกัด |
https://www.googleapis.com/auth/fitness.reproductive_health.read |
อ่านข้อมูลอนามัยการเจริญพันธุ์จากแพลตฟอร์ม Google Fit | ถูกจำกัด |
https://www.googleapis.com/auth/fitness.reproductive_health.write |
เขียนข้อมูลอนามัยการเจริญพันธุ์ลงในแพลตฟอร์ม Google Fit | ถูกจำกัด |
https://www.googleapis.com/auth/fitness.sleep.read |
อ่านข้อมูลการนอนหลับจากแพลตฟอร์ม Google Fit | ถูกจำกัด |
https://www.googleapis.com/auth/fitness.sleep.write |
เขียนข้อมูลการนอนหลับลงในแพลตฟอร์ม Google Fit | ถูกจำกัด |
การเพิ่มขอบเขตใหม่ให้กับแอปที่มีอยู่
เมื่อคุณอัปเดตแอปเพื่อขอขอบเขตใหม่ (เช่น หากเพิ่มขอบเขตสลีปหรืออัตราการเต้นของหัวใจใหม่หรือเพิ่มขอบเขตการอ่าน) ผู้ใช้จะได้รับแจ้งว่าแอปกำลังขอสิทธิ์เข้าถึงขอบเขตเหล่านี้ และสามารถเลือกอนุญาตหรือปฏิเสธสิทธิ์เข้าถึงได้
แนวทางปฏิบัติแนะนำคือการขอสิทธิ์จากผู้ใช้สำหรับทรัพยากรในเวลาที่คุณต้องการ ทำตามหลักเกณฑ์ในการขอการให้สิทธิ์เพิ่มขึ้น
ผู้ใช้มีแนวโน้มที่จะให้สิทธิ์เข้าถึงมากขึ้นหากเข้าใจเหตุผล/วิธีที่แอปใช้ข้อมูลนี้
- ลองเพิ่มหน้าจอที่เตือน/แจ้งให้ผู้ใช้ทราบว่าจะต้องกรอกขอบเขตเหล่านี้
- อธิบายให้ชัดเจนว่าทำไมแอปจึงขอสิทธิ์เข้าถึงขอบเขต/ข้อมูลเหล่านี้ เพื่อให้ผู้ใช้มีข้อมูลประกอบการตัดสินใจ
ดูข้อมูลเพิ่มเติมเกี่ยวกับแนวทางปฏิบัติแนะนำเกี่ยวกับสิทธิ์ของแอปสำหรับ Android