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

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