Repolode
appeeky

appeeky/expo-healthkit

Модуль Expo/React Native, который предоставляет единый JavaScript API для Apple HealthKit и Android Health Connect.

Open source альтернатива:react-native-healthkit

Звёзды
108
Форки
8
Открытые issues
1
Последний коммит
11 дней назад

Что это?

@appeeky/expo-healthkit — нативный модуль на базе Expo Modules API, который предоставляет приложениям Expo и React Native единый JavaScript API для работы с данными о здоровье на обеих платформах: HealthKit на iOS и Health Connect на Android. Код приложения всегда передаёт идентификаторы типов Apple, а нативный слой преобразует их, поэтому для сопоставленных типов — например, шагов, пульса, сна, массы тела и артериального давления — не нужны отдельные ветки кода для каждой платформы.

Запросы охватывают количественные и категориальные образцы данных, тренировки, статистические агрегаты и статистику по интервалам, а также данные только для iOS: электрокардиограммы, кольца активности, клинические записи FHIR и GPS-маршруты тренировок. Можно сохранять количественные и категориальные образцы, тренировки и корреляции, например данные об артериальном давлении, а также удалять данные. Инкрементальная синхронизация использует непрозрачный токен-якорь: на Android сначала выполняется постраничное чтение, а затем используются токены изменений Health Connect.

Плагин конфигурации добавляет entitlements для HealthKit и объявления разрешений Health Connect, а также устанавливает minSdk 26. Для работы необходимы Expo SDK 53 или новее с development build (Expo Go не поддерживается), iOS 16.4 или новее и Android 8 или новее.

Ключевые возможности

  • 01Единый API для обеих платформ: на iOS и Android используются одни и те же методы и идентификаторы типов Apple, а преобразование выполняется на нативном уровне.
  • 02Запросы количественных и категориальных образцов, тренировок и статистики, включая интервальные группы через queryStatisticsCollection.
  • 03Запросы данных только для iOS: электрокардиограммы, кольца активности, клинические записи FHIR, аудиограммы, GPS-маршруты тренировок, ряды сердечных сокращений и корреляции.
  • 04Инкрементальная синхронизация через queryAnchored: метод возвращает added, deleted, anchor и hasMore для постраничной загрузки изменений.
  • 05Сохранение и удаление данных: saveQuantitySample, saveCategorySample, saveWorkout, saveCorrelation и deleteObjects.
  • 06Фоновая доставка данных через observe, addUpdateListener и enableBackgroundDelivery; сохранённые типы наблюдения регистрируются повторно, если приложение было закрыто и запущено снова.
  • 07Плагин конфигурации добавляет строки с описанием использования HealthKit и записи uses-permission для Health Connect, а также устанавливает minSdk 26.
  • 08Отдельные коды ошибок (ERR_HEALTHKIT_UNSUPPORTED, ERR_HEALTH_CONNECT_UNSUPPORTED, ERR_HEALTH_CONNECT_ANCHOR_EXPIRED) позволяют скрывать неподдерживаемые элементы интерфейса без проверок Platform.OS.

Сценарии использования

  • Получение дневного количества шагов, пульса или данных о сне в фитнес-приложении.
  • Создание дашбордов здоровья, чтобы отслеживать изменения веса, артериального давления или состава тела.
  • Запись тренировок и образцов данных, собранных внутри приложения, в HealthKit или Health Connect.
  • Синхронизация истории здоровья пользователя с собственным бэкендом с помощью инкрементальных запросов с якорями.
  • Отображение данных только Apple — например, ЭКГ или колец активности — на iOS и их скрытие на Android.

Быстрый старт

  1. 1

    Установите пакет с помощью Expo

    npx expo install @appeeky/expo-healthkit
  2. 2

    Добавьте config plugin в app.json или app.config.ts

  3. 3

    Пересоберите нативный код и запустите приложение в development build

    npx expo prebuild --clean

Что важно знать

  • API данных о здоровье не работают в Expo Go — требуется development build.
  • Требуется iOS 16.4 или новее с включённой capability HealthKit либо Android 8 или новее с Health Connect.
  • В метаданных пакета лицензия не указана (NOASSERTION), поэтому проверьте её перед использованием.
  • В iOS статус разрешения на чтение непрозрачен, поэтому приложения не могут определить, были ли запросы на чтение отклонены.

В подборках

Темы

#react-native#expo#healthkit#health-connect#ios#android#mobile#typescript#health-data#apple-healthkit

Частые вопросы

Что такое expo-healthkit?
Модуль Expo/React Native, который предоставляет единый JavaScript API для Apple HealthKit и Android Health Connect. @appeeky/expo-healthkit — нативный модуль на базе Expo Modules API, который предоставляет приложениям Expo и React Native единый JavaScript API для работы с данными о здоровье на обеих платформах: HealthKit на iOS и Health Connect на Android. Код приложения всегда передаёт идентификаторы типов Apple, а нативный слой преобразует их, поэтому для сопоставленных типов — например, шагов, пульса, сна, массы тела и артериального давления — не нужны отдельные ветки кода для каждой платформы.
expo-healthkit можно использовать бесплатно? Какая у него лицензия?
expo-healthkit распространяется с открытым исходным кодом под лицензией Other. Перед использованием в коммерческих продуктах проверьте условия лицензии.
expo-healthkit всё ещё поддерживается?
Активно поддерживается. Последний коммит в expo-healthkit — 26 окт. 2026 г..
Для чего можно использовать expo-healthkit?
Получение дневного количества шагов, пульса или данных о сне в фитнес-приложении. Создание дашбордов здоровья, чтобы отслеживать изменения веса, артериального давления или состава тела. Запись тренировок и образцов данных, собранных внутри приложения, в HealthKit или Health Connect. Синхронизация истории здоровья пользователя с собственным бэкендом с помощью инкрементальных запросов с якорями. Отображение данных только Apple — например, ЭКГ или колец активности — на iOS и их скрытие на Android.
Как установить expo-healthkit?
Установите пакет с помощью Expo: npx expo install @appeeky/expo-healthkit Добавьте config plugin в app.json или app.config.ts Пересоберите нативный код и запустите приложение в development build: npx expo prebuild --clean
Где скачать expo-healthkit?
Исходный код и инструкции по установке — на GitHub: https://github.com/appeeky/expo-healthkit

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты