Usage: User initialization
Configure a user for data synchronization.
Update userID
Update the userID:
void updateUserID() {
HCRookConfigurationManager.updateUserID(userID).then((_) {
// Success
}).catchError((exception) {
// Handle error
});
}
Any call to updateUserID
with a different userID will override the previous userID and reset the sync status, so if
you are using Yesterday sync all health data will synchronize
again the next time the app is launched.
Login / Logout
The updateUserID
function should be called as part of your login and initialization process.
When your users logout from your app, you'll have two options:
- Call
clearUserID
to remove the userID from SDK. deleteUserFromRook
to remove the userID from SDK and disable it in server (Only disable from Health Connect and Android data sources).
Recommended user update procedure
If you have previously called updateUserID
and the app is restarted (closed and opened) you won't have to
call updateUserID
again.
After initializing you can call getUserID
and verify that the userID was
autoconfigured (recovered from preferences).
void checkUserIDRegistered() {
HCRookConfigurationManager.getUserID().then((userID) {
if (userID != null) {
// userID was autoconfigured (recovered from preferences), no need to call HCRookConfigurationManager.updateUserID()
} else {
// userID wasn't autoconfigured (recovered from preferences), MUST call HCRookConfigurationManager.updateUserID()
}
});
}
User timezone
Every time updateUserID
completes successfully, the timezone information will be updated. You can see the result of
the operation in the logs. On success, you will see Timezone information updated
; otherwise, you will
see Failed to update timezone information with error:
.
In most cases, the above behavior is sufficient. If you need to update the timezone information manually,
call syncUserTimeZone
:
void updateTimeZoneInformation() {
HCRookConfigurationManager.syncUserTimeZone().then((_) {
// Success
}).catchError((exception) {
// Handle error
});
}