หากแอปของคุณจำเป็นต้องบันทึกข้อมูลที่ประเภทข้อมูลที่มีอยู่บนแพลตฟอร์ม Google Fit ยังไม่ครอบคลุม คุณสามารถสร้างประเภทข้อมูลที่กำหนดเองได้
การสร้างประเภทข้อมูลที่กำหนดเอง
สร้างหรือระบุประเภทข้อมูลที่กําหนดเองเพื่อบันทึกข้อมูลที่กําหนดเอง เมื่อคุณสร้าง ประเภทข้อมูลที่กำหนดเอง ตรวจสอบว่า
- ชื่อประเภทข้อมูลแสดงถึงข้อมูลที่เกี่ยวข้องอย่างถูกต้อง
ส่วนนำหน้าของชื่อประเภทข้อมูลตรงกับชื่อแพ็กเกจของแอป
Android
หากต้องการสร้างประเภทข้อมูลที่กําหนดเองเป็นครั้งแรก ให้ใช้วิธีต่อไปนี้ใน ConfigClient.createCustomDataType
val request = DataTypeCreateRequest.Builder()
// The prefix of your data type name must match your app's package name
.setName("com.packagename.appname.custom_data_type") // Add some custom fields, both int and float
.addField("field1", Field.FORMAT_INT32)
.addField("field2", Field.FORMAT_FLOAT)
// Add some common fields
.addField(Field.FIELD_ACTIVITY)
.build()
Fitness.getConfigClient(this, account)
.createCustomDataType(request)
.addOnSuccessListener { dataType ->
// Use this custom data type to insert data into your app.
Log.d(TAG, "Created data type: ${dataType.name}")
}
REST
ประเภทข้อมูลคือพร็อพเพอร์ตี้ของแหล่งข้อมูลใน REST API หากต้องการบันทึกข้อมูลที่กำหนดเอง คุณต้องสร้างแหล่งข้อมูล แล้วระบุประเภทข้อมูล ดังนี้
- เรียกใช้ REST API เพื่อสร้างแหล่งข้อมูลใหม่ เช่น
FlexibilityMeasure
ตั้งชื่อที่ไม่ซ้ำกันให้ประเภทข้อมูลนั้น ซึ่งแสดงถึงข้อมูลที่กำลังบันทึกได้ใกล้เคียงที่สุด
ระบุช่องของประเภทข้อมูลและรูปแบบของช่อง
เมธอด HTTP
POST
URL คำขอ
https://www.googleapis.com/fitness/v1/users/me/dataSources
เนื้อความของคำขอ
{
"dataStreamName": "FlexibilityMeasure",
"type": "raw",
"application": {
"detailsUrl": "http://recoveryapps.com",
"name": "Stretch Flex",
"version": "1"
},
"dataType": {
"name": "com.recoveryapps.stretchflex.flexibility",
"field": [
{
"name": "ankle_range_degrees",
"format": "integer"
},
{
"name": "wrist_range_degrees",
"format": "integer",
"optional": true
}
]
}
}
คำตอบ
หากสร้างแหล่งข้อมูลสำเร็จ คุณจะได้รับ HTTP ของ 200 OK
รหัสสถานะการตอบสนอง เนื้อหาการตอบกลับมีการแสดงไฟล์ JSON ของ
แหล่งข้อมูล รวมถึงพร็อพเพอร์ตี้ datasource.dataStreamId
ใช้รหัสนี้เป็น dataSourceId
เพื่อเพิ่มข้อมูล
การใช้ประเภทข้อมูลที่กําหนดเอง
Android
แปลงชื่อประเภทข้อมูลที่กําหนดเองจากสตริง (com.packagename.appname.custom_data_type) ให้เป็นออบเจ็กต์ DataType
โดยใช้เมธอด ConfigClient.readDataType
ใช้ออบเจ็กต์ที่แสดงผลเพื่อแทรก
และข้อมูลที่กำหนดเองอ่าน
Fitness.getConfigClient(this, account)
.readDataType("com.packagename.appname.custom_data_type")
.addOnSuccessListener { dataType ->
// Use this custom data type to insert data into your app.
Log.d(TAG, "Retrieved data type: ${dataType.name}")
}
REST
หากต้องการเพิ่มหรืออ่านข้อมูลที่กำหนดเองโดยใช้ประเภทข้อมูลที่กำหนดเอง คุณต้องใช้ข้อมูลของประเภทเหล่านั้น
แหล่งที่มา หากต้องการตรวจสอบแหล่งข้อมูลของประเภทข้อมูลที่กำหนดเอง ให้ส่ง GET
คำขอไปยัง REST API
การเพิ่มข้อมูลที่กําหนดเอง
หากต้องการแทรกข้อมูลที่กำหนดเอง ให้สร้างชุดข้อมูลที่มีจุดข้อมูลใหม่ ระบุแหล่งข้อมูลที่สร้างขึ้นสําหรับประเภทข้อมูลที่กําหนดเอง จุดข้อมูลต้อง มีช่องและรูปแบบที่ถูกต้องทั้งหมดที่ระบุในประเภทข้อมูลที่กำหนดเอง
การอ่านข้อมูลที่กำหนดเอง
หากต้องการอ่านข้อมูลที่กําหนดเอง ให้ระบุแหล่งข้อมูลที่สร้างขึ้นสําหรับประเภทข้อมูลที่กําหนดเองเมื่อดึงข้อมูลจุดจากแพลตฟอร์ม Google Fit