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

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

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

  • การอ่านหรือการสังเกตแบบทันที
  • ผลรวมกับสถิติในช่วงเวลาหนึ่งๆ

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

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

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

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

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

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

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

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

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