As APIs Google Fit, incluindo a API REST Google Fit, não estarão mais disponíveis após 30 de junho de 2025. Desde 1o de maio de 2024, os desenvolvedores não podem se inscrever para usar essas APIs.
Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
Este exemplo mostra como criar um cliente da API Fitness.
Crie o cliente da API desta forma:
Crie uma instância FitnessOptions, declarando
tipos de dados e tipo de acesso (leitura e/ou gravação) ao seu app
necessidades:
val fitnessOptions = FitnessOptions.builder()
.addDataType(DataType.TYPE_STEP_COUNT_DELTA, FitnessOptions.ACCESS_READ)
.addDataType(DataType.AGGREGATE_STEP_COUNT_DELTA, FitnessOptions.ACCESS_READ)
.build()
Consiga uma instância do objeto Account para usar com a API:
val account = GoogleSignIn.getAccountForExtension(this, fitnessOptions)
Verifique se o usuário já concedeu o acesso necessário aos dados e se
não, inicie o fluxo de autorização:
if (!GoogleSignIn.hasPermissions(account, fitnessOptions)) {
GoogleSignIn.requestPermissions(
this, // your activity
GOOGLE_FIT_PERMISSIONS_REQUEST_CODE, // e.g. 1
account,
fitnessOptions)
} else {
accessGoogleFit()
}
Se o fluxo de autorização for necessário, processe a resposta do usuário:
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
}
}
}
Depois que o usuário autorizar o acesso aos dados solicitados, crie um condicionamento
cliente, por exemplo, um HistoryClient para ler e/ou gravar o histórico de condicionamento físico
dados) com base na finalidade e nas necessidades do app:
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) })
}
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Não contém as informações de que eu preciso","missingTheInformationINeed","thumb-down"],["Muito complicado / etapas demais","tooComplicatedTooManySteps","thumb-down"],["Desatualizado","outOfDate","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Problema com as amostras / o código","samplesCodeIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 2024-08-21 UTC."],[[["This guide demonstrates how to build a Fitness API client in Android to read aggregate step count data."],["It outlines the process of creating a `FitnessOptions` instance to define the data types and access permissions required."],["Users will be prompted to grant necessary permissions during the Google Sign-In authorization flow."],["Upon authorization, the code demonstrates how to access the Google Fit HistoryClient to retrieve and utilize the step count data."],["The example showcases requesting aggregate step data over the past year, bucketed by day, without needing specific Android permissions."]]],[]]