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

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
รูปที่ 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