روزانه استپ توتال را بخوانید

این بخش خواندن داده‌های شمارش گام‌های روزانه فعلی را با استفاده از Fit Android API و Fit REST API نشان می‌دهد.

اندروید

همانطور که در مثال زیر نشان داده شده است، برنامه شما می‌تواند با تماس با HistoryClient.readDailyTotal ، مجموع گام‌های روزانه فعلی را بخواند:

Fitness.getHistoryClient(this, GoogleSignIn.getAccountForExtension(this, fitnessOptions))
    .readDailyTotal(DataType.TYPE_STEP_COUNT_DELTA)
    .addOnSuccessListener { result ->
        val totalSteps =
            result.dataPoints.firstOrNull()?.getValue(Field.FIELD_STEPS)?.asInt() ?: 0
        // Do something with totalSteps
    }
    .addOnFailureListener { e ->
        Log.i(TAG, "There was a problem getting steps.", e)
    }

مجموع روزانه از نیمه شب روز جاری در منطقه زمانی فعلی دستگاه محاسبه می شود.

برای دریافت همان تعداد گام‌های روزانه مانند برنامه Fit، با استفاده از بسته برنامه com.google.android.gms یک منبع داده ایجاد کنید، همانطور که در مثال زیر نشان داده شده است:

val startTime = LocalDate.now().atStartOfDay(ZoneId.systemDefault())
val endTime = LocalDateTime.now().atZone(ZoneId.systemDefault())

val datasource = DataSource.Builder()
    .setAppPackageName("com.google.android.gms")
    .setDataType(DataType.TYPE_STEP_COUNT_DELTA)
    .setType(DataSource.TYPE_DERIVED)
    .setStreamName("estimated_steps")
    .build()

val request = DataReadRequest.Builder()
    .aggregate(datasource)
    .bucketByTime(1, TimeUnit.DAYS)
    .setTimeRange(startTime.toEpochSecond(), endTime.toEpochSecond(), TimeUnit.SECONDS)
    .build()

Fitness.getHistoryClient(this, GoogleSignIn.getAccountForExtension(this, fitnessOptions))
    .readData(request)
    .addOnSuccessListener { response ->
        val totalSteps = response.buckets
            .flatMap { it.dataSets }
            .flatMap { it.dataPoints }
            .sumBy { it.getValue(Field.FIELD_STEPS).asInt() }
        Log.i(TAG, "Total steps: $totalSteps")
    }

برای اطلاعات بیشتر در مورد کار با منابع داده انبوه، به کار با سابقه تناسب اندام مراجعه کنید.

باقی مانده

برنامه شما می‌تواند با درخواست POST و جستجو در نوع داده com.google.step_count.delta ، کل تعداد گام‌های روزانه فعلی را در همه منابع داده بخواند.

روش HTTP

پست

درخواست URL

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": 1438705622000,
  "endTimeMillis": 1439310422000
}

دستور Curl

curl \
-X POST \
-H "Content-Type: application/json;encoding=utf-8" \
-H "Authorization: Bearer $ACCESS_TOKEN" \
-d @aggregate.json \
https://www.googleapis.com/fitness/v1/users/me/dataset:aggregate