light-mode-image
Learn
Functions

createProximityPresentationSession

Create a proximity based presentation session with an mDoc verifier using device retrieval as per ISO/IEC 18013-5:2021.

This function requires the calling application to have been granted the following Bluetooth-related permissions:

For iOS

The integrating application MUST have the "NSBluetoothAlwaysUsageDescription" attribute in its "info.plist" file. Failing to do so might result in a runtime application crash when calling this API.

If the application using this SDK hasn't tried to use Bluetooth before, calling this function will result in a system UI prompt asking the user to grant Bluetooth permissions to the application. If the user has denied a similar previous permission request (either when interacting with another part of the application or through a prior call to this function) the MobileCredentialHolderErrorType.BluetoothPermissionDenied error is thrown until the user explicitly grants Bluetooth permissions to the application in their OS app settings.

For Android

For Android versions R/11 (API level 30) and below:

  • android.permission.BLUETOOTH
  • android.permission.BLUETOOTH_ADMIN
  • android.permission.ACCESS_FINE_LOCATION
  • android.permission.ACCESS_COARSE_LOCATION

For Android versions S/12 (API level 31) and above:

  • android.permission.BLUETOOTH_SCAN
  • android.permission.BLUETOOTH_ADVERTISE
  • android.permission.BLUETOOTH_CONNECT

requestReceivedAction

In the event of an error onRequestReceived action can produce the following:

sessionTerminatedAction

sessionTerminatedAction is invoked when a session is terminated:

Termination CauseError Passed to onSessionTerminated Callback
Incoming message from verifier cannot be processed due to invalid CBOR format or a cryptography-related issue.ProximityPresentationSessionTerminationErrorType.SessionStatusCodeSent
The verifier indicated that they cannot process a message from the holder due to invalid CBOR format or a cryptography-related issue.ProximityPresentationSessionTerminationErrorType.SessionStatusCodeReceived
The holder terminates the session by calling terminateSession().null
The verifier terminates the session.null
BLE connection lostProximityPresentationSessionTerminationErrorType.DataTransportDisconnected
Session timeoutProximityPresentationSessionTerminationErrorType.InactivitySessionTimedOut

Signature

function createProximityPresentationSession(
  options: CreateProximityPresentationSessionOptions
): Promise<Result<ProximityPresentationSession, CreateProximityPresentationSessionError>>

Parameters

Returns

Promise<Result<ProximityPresentationSession, CreateProximityPresentationSessionError>>

A promise that resolves to the created ProximityPresentationSession, whose deviceEngagement you transfer to the reader. The request itself arrives later, through onRequestReceived.

Throws

InvalidParams if the provided arguments are missing or invalid.

MobileCredentialHolderErrorType.SdkNotInitialized if the SDK has not been initialized.

How would you rate this page?

On this page