ประเภทข้อมูล

Google Fit มีชุดประเภทข้อมูลสุขภาพและความเป็นอยู่ที่ดีภายใต้เนมสเปซ com.google

ประเภทข้อมูลจะกําหนดรูปแบบของค่าต่างๆ ภายในจุดข้อมูล จุดข้อมูลแสดงสิ่งต่อไปนี้ได้

  • การอ่านหรือสังเกตได้ทันที
  • ตัวเลขรวมที่มีสถิติตามช่วงเวลา

Google Fit กําหนดประเภทข้อมูลสําหรับการสังเกตทันทีและประเภทข้อมูลสําหรับข้อมูลรวม จุดข้อมูลประกอบด้วยค่าในช่องของประเภทข้อมูลและข้อมูลการประทับเวลา จุดที่แสดงการสังเกตการณ์ทันทีจะมีการประทับเวลา และคะแนนของประเภทข้อมูลรวมจะรวมเวลาเริ่มต้นของระยะเวลาดังกล่าวด้วย

Google Fit ยังให้คุณกําหนดประเภทข้อมูลใหม่ๆ ได้ด้วย

กลุ่มประเภทข้อมูล

Google Fit มีประเภทข้อมูลดังต่อไปนี้

ประเภทข้อมูลสาธารณะ
ประเภทข้อมูลมาตรฐานที่แพลตฟอร์มมีให้จะมีคํานําหน้า "com.google" เช่น com.google.step_count.delta ประเภทข้อมูลเหล่านี้บันทึกการอ่านทันทีเพื่อดูข้อมูลด้านสุขภาพและความเป็นอยู่ที่ดี รวมถึงกิจกรรมการออกกําลังกาย การนอนหลับ และโภชนาการ แอปจะขอสิทธิ์ที่เกี่ยวข้องเพื่ออ่านและเขียนข้อมูลประเภทต่างๆ เหล่านี้ได้ ยกเว้นประเภทข้อมูลสถานที่ตั้งไม่กี่ประเภทที่แอปสามารถอ่านได้เท่านั้น

ดูข้อมูลเพิ่มเติมได้ที่

ประเภทข้อมูลสุขภาพ
ประเภทข้อมูลที่ได้จากแพลตฟอร์มที่จํากัดการเข้าถึงเนื่องจากอาจมีข้อมูลที่ละเอียดอ่อน ดูข้อมูลเพิ่มเติมได้ที่ประเภทข้อมูลด้านสุขภาพ
ประเภทข้อมูลรวม
ประเภทข้อมูลที่จะอ่านข้อมูลด้านสุขภาพและความเป็นอยู่ที่ดี โดยรวบรวมตามเวลาหรือประเภทกิจกรรม ดูข้อมูลเพิ่มเติมได้ที่ประเภทข้อมูลรวม
ประเภทข้อมูลที่กําหนดเอง
ประเภทข้อมูลที่กําหนดเองที่แอปใดแอปหนึ่งกําหนดไว้ เฉพาะแอปที่กําหนดโดยประเภทข้อมูลเท่านั้นที่จะอ่านและเขียนข้อมูลของประเภทนี้ได้ ดูข้อมูลเพิ่มเติมได้ที่ประเภทข้อมูลที่กําหนดเอง

การใช้ประเภทข้อมูล

Android

ใน Android ประเภทข้อมูลหมายถึงช่องสาธารณะในคลาส DataType วิธีเรียกใช้ 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
รูปที่ 2. หน้าจอขอความยินยอมขอบเขต OAuth

หลังจากทดสอบแอปกับผู้ใช้กลุ่มเล็กๆ แล้ว ก่อนที่จะเปิดตัวแอป คุณจะต้องขอรับการยืนยันตามขอบเขตที่เกี่ยวข้องกับประเภทข้อมูลเหล่านั้น โปรดอ่านหน้าประเภทข้อมูลที่ลิงก์ด้านบนเพื่อทําความเข้าใจว่าขอบเขตใดมีผลกับข้อมูลแต่ละประเภท

เช่น หากแอปจําเป็นต้องอ่านและเขียนความดันโลหิต แอปจะต้องประกาศว่าแอปทําทั้งอ่านและเขียน รวมทั้งขอทั้ง 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