หากแอปของคุณต้องบันทึกข้อมูลที่ไม่ได้ครอบคลุมโดยข้อมูลประเภทใดประเภทหนึ่งที่มีอยู่บนแพลตฟอร์ม 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