इस सेक्शन में, Fit Android API और 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") }
एग्रीगेट किए गए डेटा सोर्स के साथ काम करने के बारे में ज़्यादा जानने के लिए, Fitness के इतिहास का डेटा इस्तेमाल करना लेख पढ़ें.
REST
आपका ऐप्लिकेशन, सभी डेटा सोर्स से मिले मौजूदा दिन के कुल कदमों की संख्या को पढ़ सकता है. इसके लिए, उसे POST अनुरोध करना होगा और तय की गई समयावधि के लिए com.google.step_count.delta डेटा टाइप को क्वेरी करना होगा.
एचटीटीपी मेथड
पोस्ट करें
अनुरोध किया गया यूआरएल
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