Skip to content

Architecture⚓︎

Integrating the Mobile SDK⚓︎

Packages for Android and iOS are available through our distribution channels. The Android package provides a Java interface for easy integration and the iOS package provides a Swift interface.

Calling the SDK⚓︎

The SDK library exposes itself as a singleton class which provides all of the necessary methods to make use of the SDK’s functionality, such as starting sessions, managing accounts and handling push messages.

There are two types of calls:

  • Calls that return an immediate result (e.g. a list of accounts/sessions). These calls should be assumed to be blocking, as the result will need to be prepared.
  • Calls that return no result (e.g. inputting a second factor, stopping a session). These calls will only block for a minimal amount of time and are suitable for usage on the main thread. For these types of calls, the Mobile SDK will create new threads internally in order to handle any potentially blocking interaction, such as network access.

Asynchronous Callbacks⚓︎

The SDK uses callbacks to notify the mobile app of changes in its state and for requesting user interaction. Callbacks can occur at any moment in time, regardless of ongoing user activity (which the SDK is not aware of). When user interaction is requested by the SDK itself, the SDK will ensure that no other user interaction request callback will occur in the meanwhile.

We advise that you take special care when using the SDK to ensure that callbacks and handling of asynchronous events are handled in accordance with the platform-specific expectations of your target system (e.g. iOS or Android).