يوضّح هذا القسم قراءة البيانات اليومية الحالية لعدد الخطوات باستخدام تطبيق 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