Usage: User initialization
Configure a user for data synchronization.
Update userID
Update the userID:
void updateUserID() async {
try {
await AHRookConfigurationManager.updateUserID(userID);
// Success
} catch (error) {
// 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 Automatic Sync all health data will synchronize again.
Login / Logout
The updateUserID function should be called as part of your login and initialization process.
When your users logout from your app: Call deleteUserFromRook to remove the userID from SDK and disable it in
server (Only disable from Apple Health data source).
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() async {
final userID = await AHRookConfigurationManager.getUserID();
if (userID != null) {
// userID was autoconfigured (recovered from preferences), no need to call AHRookConfigurationManager.updateUserID()
} else {
// userID wasn't autoconfigured (recovered from preferences), MUST call AHRookConfigurationManager.updateUserID()
}
}
User timezone
Every time updateUserID completes successfully the timezone information will be updated.
In most cases the above behavior is more than enough. If you need to update the timezone information manually
call syncUserTimeZone:
void updateTimeZoneInformation() async {
try {
await AHRookConfigurationManager.syncUserTimeZone();
// Success
} catch (error) {
// Handle error
}
}