Я пытаюсь прочитать данные шагов из Google Fit. Я успешно получаю результат, но у меня есть 2 проблемы.
REST API: https://www.googleapis.com/fitness/v1/users/me/dataset:aggregate
{
"aggregateBy": [{
"dataTypeName": "com.google.step_count.delta",
"dataSourceId": "derived:com.google.step_count.delta:com.google.android.gms:estimated_steps"
}],
"bucketByTime": { "durationMillis": 86400000 },
"startTimeMillis": 1575158400 // Sunday, December 1, 2019 12:00:00 AM
"endTimeMillis": 1580515199 // Friday, January 31, 2020 11:59:59 PM
}
ВЫПУСК 1 Несмотря на то, что общее количество шагов соответствует, в случайном порядке меняет записи отдельных шагов.
например: Как только я получил
Индивидуальные шаги: 4043, 3999, 1809, 32, 4419, 6, 17, 1226, 3447, 3470 Всего шагов: 22468
Тот же вызов API, но другой результат:
Отдельные шаги: 3652, 391, 3906, 1902, 4451, 6, 17, 1226, 3337, 3391, 189 Всего шагов: 22468
Каждый раз, когда я получаю, я получаю небольшие различия в шагах и отметках времени. Общее количество шагов остается тем же, но отдельные записи шагов не согласованы.
ВЫПУСК 2:
Даже когда я получаю точные шаги, startTimeMillis
, endTimeMillis
startTimeNanos
endTimeNanos
для этих отдельных записей не соответствует
1-й ответ:
{
"startTimeMillis": "1578435789540",
"endTimeMillis": "1578522189540",
"dataset": [
{
"dataSourceId": "derived:com.google.step_count.delta:com.google.android.gms:aggregated",
"point": [
{
"startTimeNanos": "1578436252758000000",
"endTimeNanos": "1578436362872632842",
"dataTypeName": "com.google.step_count.delta",
"originDataSourceId": "raw:com.google.step_count.cumulative:samsung:SM-G955U:c291ebf86e0c18db:Step Counter",
"value": [
{
"intVal": 189,
"mapVal": []
}
]
}
]
}
2-й ответ
{
"startTimeMillis": "1578433221048",
"endTimeMillis": "1578519621048",
"dataset": [
{
"dataSourceId": "derived:com.google.step_count.delta:com.google.android.gms:aggregated",
"point": [
{
"startTimeNanos": "1578436252758000000",
"endTimeNanos": "1578436362872632842",
"dataTypeName": "com.google.step_count.delta",
"originDataSourceId": "raw:com.google.step_count.cumulative:samsung:SM-G955U:c291ebf86e0c18db:Step Counter",
"value": [
{
"intVal": 189,
"mapVal": []
}
]
}
]
}
3-й ответ
{
"startTimeMillis": "1578434700773",
"endTimeMillis": "1578521100773",
"dataset": [
{
"dataSourceId": "derived:com.google.step_count.delta:com.google.android.gms:aggregated",
"point": [
{
"startTimeNanos": "1578436252758000000",
"endTimeNanos": "1578436362872632842",
"dataTypeName": "com.google.step_count.delta",
"originDataSourceId": "raw:com.google.step_count.cumulative:samsung:SM-G955U:c291ebf86e0c18db:Step Counter",
"value": [
{
"intVal": 189,
"mapVal": []
}
]
}
]
}
Я делаю что-то не так, может кто-нибудь подсказать, что я могу сделать? Я хочу сохранить данные о шагах в приложении и нуждаюсь в последовательных шагах и времени без дубликатов.