Calories
This feature retrieves the heart rate activity for the current day. Use the object RookEvents class, which includes the getTodayHeartRate function to obtain the current calories burned count.
info
To use this method, ensure a user ID is added and the heart rate permission are granted.
Example
The bellow code shows how to use this functionality.
import { RookConfig } from 'capacitor-rook-sdk';
import { RookEvents } from 'capacitor-rook-sdk';
import { useEffect, useState } from 'react';
import { useHistory } from 'react-router-dom';
const Home: React.FC = () => {
const history = useHistory();
const [isOpen, setIsOpen] = useState(false);
const [title, setTitle] = useState(String);
const [message, setMessage] = useState(String);
const [userId, setuserId] = useState(String);
useEffect(() => {
RookConfig.getUserId()
.then((idResult) => {
setuserId(idResult.userId);
})
}, []);
const handleGetCurrentHeartRate = async (): Promise<void> => {
try {
const result: HeartRateData = (await RookEvents.getTodayHeartRate()).result;
setTitle('Heart rate');
setMessage(`hr max: ${result.hrMaximumBPM}, hr min ${result.hrMinimumBPM}`);
console.log('result', result);
setIsOpen(true);
} catch (error) {
setTitle('Heart rate');
setMessage(`Error while fetching heart rate ${error}`);
setIsOpen(true);
}
};
const handleGetCurrentHeartRateSamsung = async (): Promise<void> => {
try {
const result = await RookEvents.getTodayHeartRate({source: 'SAMSUNG'});
setTitle('Heart rate');
setMessage(`hr max: ${result.hrMaximumBPM}, hr min ${result.hrMinimumBPM}`);
console.log('result', result);
} catch (error) {
setTitle('Heart rate');
setMessage(`Error while fetching heart rate ${error}`);
setIsOpen(true);
}
};
return (
<IonPage>
<IonHeader>
<IonToolbar>
<IonButtons slot="start">
<IonBackButton defaultHref="/" />
</IonButtons>
<IonTitle>Heart Rate User:{userId}</IonTitle>
</IonToolbar>
</IonHeader>
<IonContent fullscreen>
<IonList>
<IonItem>
<IonButton
style={{ marginBottom: '20px' }}
onClick={handleGetCurrentHeartRate}>Get current heart Rate</IonButton>
</IonItem>
<IonItem>
<IonButton
style={{ marginBottom: '20px' }}
onClick={handleGetCurrentHeartRateSamsung}>Get current heart Rate Samsung</IonButton>
</IonItem>
</IonList>
<IonAlert
isOpen={isOpen}
header={title}
message={message}
buttons={['Action']}
onDidDismiss={ () => setIsOpen(false)}
></IonAlert>
</IonContent>
</IonPage>
);
};
export default Home;