init method
Future<void>
init({
- required String accessToken,
- required Future<
String?> onTokenExpired(), - PlumcheckEnvironment env = PlumcheckEnvironment.sandbox,
Implementation
Future<void> init({
required String accessToken,
required Future<String?> Function() onTokenExpired,
PlumcheckEnvironment env = PlumcheckEnvironment.sandbox,
}) async {
ConfigManager.initialize(env);
_onTokenExpired = onTokenExpired;
final storedEnv = await storage.getEnv();
if (storedEnv != null && storedEnv != env) {
await storage.clearAll(); // clear all if env changed
}
await storage.saveToken(accessToken);
await storage.saveEnv(env);
final userInfo = await api.getPartnerUserProfile();
if (userInfo == null) {
throw SDKException.withMessage('SDK initialization failed, please check your access token.');
} else {
this.userInfo = userInfo;
}
api.onTokenExpired = () async {
final newToken = await onTokenExpired();
if (newToken != null) {
await storage.saveToken(newToken);
}
};
}