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