onGetUserAccountConfirmationForSimBinding

The onGetUserAccountConfirmationForSimBinding event is triggered by the SDK when user account selection and confirmation are required to complete SIM binding in multi-account scenarios. It prompts the application to display an account selection interface when the SDK detects multiple registered user accounts on the device, requiring the user to explicitly confirm which account should be bound to the SIM.


🎯 Purpose

To select the associated user ID from the user, allowing the developer to:

  • Show instructions to user for select the User ID from the available list.
  • Show the list of all user IDs associated with the provided user sim detail.


🖼️ Recommended User Interface

Display the following messages to the user:

  • Display the instruction to user for user id selection

  • Display the list of all users to choose single user from the available list.

  • A Start or Proceed button, which when clicked, should call the response API.


💻 Event Listener Code

React Native
EventEmitter.addListener('onGetUserAccountConfirmationForSimBinding', onGetUserAccountConfirmationForSimBinding);

const onGetUserAccountConfirmationForSimBinding = (response: any) => {
  // response.challengeOpMode
  // response.userIDList    // Array of user IDs
  // response.challengeResponse
  // response.error
}
Flutter
rdna.on(RdnaClient.onGetUserAccountConfirmationForSimBinding, onGetUserAccountConfirmationForSimBinding);

onGetUserAccountConfirmationForSimBinding(dynamic response) {
  // response.challengeOpMode
  // response.userIDList    // List of user IDs
  // response.challengeResponse
  // response.error
}
Cordova
document.addEventListener('onGetUserAccountConfirmationForSimBinding', onGetUserAccountConfirmationForSimBinding, false);

function onGetUserAccountConfirmationForSimBinding(response) {
  // response.challengeOpMode
  // response.userIDList    // Array of user IDs
  // response.challengeResponse
  // response.error
}
Native iOS
- (void)onGetUserAccountConfirmationForSimBinding:(RDNAChallengeOpMode)challengeOpMode
                                        userIDList:(NSArray<NSString *> *)userIDList
                                          response:(RDNAChallengeResponse)response
                                             error:(RDNAError)error;
Native Android
// Object-based callback
void onGetUserAccountConfirmationForSimBinding(RDNAChallengeOpMode challengeOpMode,
                                               String[] userIDList,
                                               RDNAChallengeResponse response,
                                               RDNAError error);

🛠️ Response API: setUserAccountConfirmationForSimBinding

Description:

This API allows the application to select the user for sim binding from the associated user list.

Parameters:

ParameterTypeDescription
selectedUserIDStringselected user ID from the available list.
challengeOpModeEnumThe same workflow enum received in the event

💡 Developer Actions

ScenarioDeveloper Action
User provides detailCall setUserAccountConfirmationForSimBinding(selectedUserID, challengeOpMode)
Error occurredShow appropriate message from RDNAError object

💻 API Usage

Here’s the developer-guide-ready structure for the setUserAccountConfirmationForSimBinding API, following the same style as your previous examples:


React Native
RdnaClient.setUserAccountConfirmationForSimBinding(selectedUserID, challengeOpMode, (response) => {});
Flutter
rdna.setUserAccountConfirmationForSimBinding(selectedUserID, challengeOpMode);
Cordova
com.uniken.rdnaplugin.RdnaClient.setUserAccountConfirmationForSimBinding(
  successCallback,
  errorCallback,
  [selectedUserID, challengeOpMode]
);
Native iOS
(RDNAError *)setUserAccountConfirmationForSimBinding:(NSString *)selectedUserID challengeOpMode:(RDNAChallengeOpMode)challengeOpMode;
Native Android
RDNA.RDNAError setUserAccountConfirmationForSimBinding(String selectedUserID, RDNAChallengeOpMode challengeOpMode);

🔁 Next Steps

After a user select the user ID, the SDK will trigger the next event :

  • getSMSOTP: Developer must display auto read SMS OTP screen in case of the POST_SMS Sim binding flow. The SMS will be auto read and submit to SDK. If the flow is configured for the PRE_SMS sim binding then SDK internally call the setUser() API and subsequent event will be triggered as per the configured challenge.