onInitializeProgress

🔄 Event: onInitializeProgress

📘 Description

This event is emitted by the REL-ID SDK during the initialize() process to indicate the progress of significant initialization steps, such as server communication setup and mobile threat detection.

It helps developers track and visualize the stages of SDK startup, especially for secure environments where multiple validations are performed before session creation.


🧑‍💻 Platform Support

PlatformSyntax
React NativerdnaEventRegistery.addListener('onInitializeProgress', handler)
FlutterrdnaClient.on(RdnaClient.onInitializeProgress, handler);
Cordovadocument.addEventListener('onInitializeProgress', handler, false);
Native iOS(void)onInitializeProgress:(RDNAInitProgressStatus *)state;
Native Androidvoid onInitializeProgress(RDNAInitProgressStatus status);

📤 Sample Response Payload

{
  "systemThreatCheckStatus": "NOT_APPLICABLE",
  "appThreatCheckStatus": "NOT_APPLICABLE",
  "networkThreatCheckStatus": "NOT_APPLICABLE",
  "initializeStatus": "STARTED"
}

🧩 Field Definitions

FieldTypeDescription
systemThreatCheckStatusStringStatus of system-level threat checks.
appThreatCheckStatusStringStatus of app-level threat checks.
networkThreatCheckStatusStringStatus of network-level threat checks.
initializeStatusStringCurrent SDK initialization step (STARTED, COMPLETED, etc.).

🧠 Possible Status Values

Each of the above fields can return one of the following enums:

  • STARTED
  • COMPLETED
  • NOT_APPLICABLE
  • NOT_STARTED
  • INIT_FAILED

🧠 Developer Notes

  • This event can be used to display progress bars or logs during SDK startup.
  • Use initializeStatus to detect completion or failure.
  • Use threat statuses to pre-warn users before onUserConsentThreats or onTerminateWithThreats is triggered.

✅ Recommended UI Usage

🟡 Connecting to server...
🔄 Performing security checks...
✅ Initialization complete!

📱 Platform-specific Integration

Refer to complete guide on how to register for events

React Native
let onInitializeProgressSubscription = rdnaEventRegistery.addListener(
  'onInitializeProgress',
  this.onInitializeProgress.bind(this)
);
Flutter
rdnaClient.on(RdnaClient.onInitializeProgress, onInitializeProgress);

void onInitializeProgress(RDNAInitProgressStatus response) {
  print("Progress: ${response.initializeStatus}");
}
Cordova
document.addEventListener(
  "onInitializeProgress",
  this.onInitializeProgress.bind(this),
  false
);
iOS (Objective-C)
- (void)onInitializeProgress:(RDNAInitProgressStatus *)state {
  NSLog(@"Initialization state: %@", state.initializeStatus);
}
RDNAInitProgressStatus {
  	@property (nonatomic) RDNAInitState systemThreatCheckStatus;
  	@property (nonatomic) RDNAInitState appThreatCheckStatus;
  	@property (nonatomic) RDNAInitState networkThreatCheckStatus;
  	@property (nonatomic) RDNAInitState initializeStatus;
}
Android (Java)
@Override
public void onInitializeProgress(RDNAInitProgressStatus status) {
    Log.d("REL-ID", "Init state: " + status.getInitializeStatus());
}

RDNAInitProgressStatus {
  	 private RDNAInitState networkThreatCheckStatus;
  	 private RDNAInitState appThreatCheckStatus;
  	 private RDNAInitState systemThreatCheckStatus;
  	 private RDNAInitState initializeStatus;
}
enum RDNAInitState {
  	 STARTED(0),
	 COMPLETED(1),
  	 NOT_APPLICABLE(2),
  	 NOT_STARTED(3),
		INIT_FAILED(4);
}