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