#wear-os #google-fit
Вопрос:
Я создаю приложение для фитнес-одежды. Я хочу записывать тренировки, выполненные с помощью приложения, в GoogleFit.
Есть ли способ сделать это с помощью WearOS?
Я начинаю тренировку с помощью медицинских услуг:
suspend fun startExercise() { val dataTypes = setOf( DataType.HEART_RATE_BPM, DataType.LOCATION ) val aggregateDataTypes = setOf( DataType.DISTANCE, DataType.TOTAL_CALORIES ) val config = ExerciseConfig.builder() .setExerciseType(ExerciseType.RUNNING) .setDataTypes(dataTypes) .setAggregateDataTypes(aggregateDataTypes) .setShouldEnableAutoPauseAndResume(false) .setShouldEnableGps(true) .build() HealthServices.getClient(this /*context*/) .exerciseClient .startExercise(config) .await() }
(Код взят из этого примера https://developer.android.com/training/wearables/health-services/active#start)
Я ожидал, что если я начну/закончу тренировку с HealthServices
помощью этого, данные автоматически волшебным образом синхронизируются с GoogleFit(Apple делает это с помощью HealthKit).
Итак, могу ли я записывать данные о тренировках в GoogleFit из приложения WearOS?
Комментарии:
1. Автоматического способа нет, в настоящее время вам необходимо прочитать данные, преобразовать их и записать в API Fit.
2. @YuriSchimke вы случайно не знаете, есть ли автоматический способ на дорожной карте Google/WearOS? Или любой другой канал, кроме StackOverflow, где задать такой вопрос? Я не нашел здесь, кого еще я могу спросить developers.google.com/fit/support
Ответ №1:
Чтобы добавить к комментарию Юрия, что это невозможно автоматически, SessionClient
это, вероятно, то, что вы хотели бы сделать вручную. Поток был бы:
- Сбор данных с помощью служб здравоохранения
- Преобразовать
- Вставить сеанс с
SessionClient
Фрагмент вставки сеанса в документах Google Fit является подходящим примером, поскольку он одновременно задает тип сеанса (в данном случае запущенный), а затем также добавляет базовые данные (вместо того, чтобы делать это отдельно HistoryClient
).