قراءة الإجمالي اليومي للخطوات

يوضّح هذا القسم قراءة البيانات اليومية الحالية لعدد الخطوات باستخدام تطبيق Fit. واجهة برمجة تطبيقات Android وFit REST API

Android

يمكن لتطبيقك قراءة إجمالي الخطوات اليومية الحالية من خلال الاتصال 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