Google Fit API और Google Fit REST API, 30 जून, 2025 के बाद उपलब्ध नहीं होंगे. डेवलपर 1 मई, 2024 से, इन एपीआई का इस्तेमाल करने के लिए, साइन अप नहीं कर सकते.
संग्रह की मदद से व्यवस्थित रहें
अपनी प्राथमिकताओं के आधार पर, कॉन्टेंट को सेव करें और कैटगरी में बांटें.
इस उदाहरण में, Fitness API क्लाइंट बनाने का तरीका बताया गया है.
एपीआई क्लाइंट इस तरह से बनाएं:
FitnessOptions इंस्टेंस बनाएं.
आपके ऐप्लिकेशन का डेटा टाइप और उसे ऐक्सेस करने का टाइप (पढ़ें और/या लिखें)
ज़रूरतें:
val fitnessOptions = FitnessOptions.builder()
.addDataType(DataType.TYPE_STEP_COUNT_DELTA, FitnessOptions.ACCESS_READ)
.addDataType(DataType.AGGREGATE_STEP_COUNT_DELTA, FitnessOptions.ACCESS_READ)
.build()
एपीआई के साथ इस्तेमाल करने के लिए, Account ऑब्जेक्ट का इंस्टेंस पाएं:
val account = GoogleSignIn.getAccountForExtension(this, fitnessOptions)
देखें कि क्या उपयोगकर्ता ने पहले ज़रूरी डेटा ऐक्सेस करने की अनुमति दी है. साथ ही,
नहीं, तो ऑथराइज़ेशन फ़्लो शुरू करें:
if (!GoogleSignIn.hasPermissions(account, fitnessOptions)) {
GoogleSignIn.requestPermissions(
this, // your activity
GOOGLE_FIT_PERMISSIONS_REQUEST_CODE, // e.g. 1
account,
fitnessOptions)
} else {
accessGoogleFit()
}
अगर ऑथराइज़ेशन फ़्लो ज़रूरी हो, तो उपयोगकर्ता के जवाब को मैनेज करें:
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
super.onActivityResult(requestCode, resultCode, data)
when (resultCode) {
Activity.RESULT_OK -> when (requestCode) {
GOOGLE_FIT_PERMISSIONS_REQUEST_CODE -> accessGoogleFit()
else -> {
// Result wasn't from Google Fit
}
}
else -> {
// Permission not granted
}
}
}
जब उपयोगकर्ता को अनुरोध किए गए डेटा का ऐक्सेस मिल जाए, तब कोई फ़िटनेस बनाएं
क्लाइंट (उदाहरण के लिए, ऐतिहासिक फ़िटनेस को पढ़ने और/या लिखने के लिए HistoryClient
ऐप्लिकेशन के मकसद और ज़रूरतों के मुताबिक) के लिए:
private fun accessGoogleFit() {
val end = LocalDateTime.now()
val start = end.minusYears(1)
val endSeconds = end.atZone(ZoneId.systemDefault()).toEpochSecond()
val startSeconds = start.atZone(ZoneId.systemDefault()).toEpochSecond()
val readRequest = DataReadRequest.Builder()
.aggregate(DataType.AGGREGATE_STEP_COUNT_DELTA)
.setTimeRange(startSeconds, endSeconds, TimeUnit.SECONDS)
.bucketByTime(1, TimeUnit.DAYS)
.build()
val account = GoogleSignIn.getAccountForExtension(this, fitnessOptions)
Fitness.getHistoryClient(this, account)
.readData(readRequest)
.addOnSuccessListener({ response ->
// Use response data here
Log.i(TAG, "OnSuccess()")
})
.addOnFailureListener({ e -> Log.d(TAG, "OnFailure()", e) })
}
[{
"type": "thumb-down",
"id": "missingTheInformationINeed",
"label":"वह जानकारी मौजूद नहीं है जो मुझे चाहिए"
},{
"type": "thumb-down",
"id": "tooComplicatedTooManySteps",
"label":"बहुत मुश्किल है / बहुत सारे चरण हैं"
},{
"type": "thumb-down",
"id": "outOfDate",
"label":"पुराना"
},{
"type": "thumb-down",
"id": "translationIssue",
"label":"अनुवाद से जुड़ी समस्या"
},{
"type": "thumb-down",
"id": "samplesCodeIssue",
"label":"सैंपल / कोड से जुड़ी समस्या"
},{
"type": "thumb-down",
"id": "otherDown",
"label":"अन्य"
}]
[{
"type": "thumb-up",
"id": "easyToUnderstand",
"label":"समझने में आसान है"
},{
"type": "thumb-up",
"id": "solvedMyProblem",
"label":"मेरी समस्या हल हो गई"
},{
"type": "thumb-up",
"id": "otherUp",
"label":"अन्य"
}]
{"lastModified": "\u0906\u0916\u093f\u0930\u0940 \u092c\u093e\u0930 2024-08-21 (UTC) \u0915\u094b \u0905\u092a\u0921\u0947\u091f \u0915\u093f\u092f\u093e \u0917\u092f\u093e."}
[[["समझने में आसान है","easyToUnderstand","thumb-up"],["मेरी समस्या हल हो गई","solvedMyProblem","thumb-up"],["अन्य","otherUp","thumb-up"]],[["वह जानकारी मौजूद नहीं है जो मुझे चाहिए","missingTheInformationINeed","thumb-down"],["बहुत मुश्किल है / बहुत सारे चरण हैं","tooComplicatedTooManySteps","thumb-down"],["पुराना","outOfDate","thumb-down"],["अनुवाद से जुड़ी समस्या","translationIssue","thumb-down"],["सैंपल / कोड से जुड़ी समस्या","samplesCodeIssue","thumb-down"],["अन्य","otherDown","thumb-down"]],["आखिरी बार 2024-08-21 (UTC) को अपडेट किया गया."]]