To explain how a user can use the iPASS Package in steps, you can outline the process as follows:
Import Package in your required view controller.
import iPass2_0NativeiOS
In this step user will give required permissions in the Info.plist file to enable the necessary device features:
ISO7816 application identifiers for NFC Tag Reader Session - For NFC features.
com.apple.developer.nfc.readersession.formats. - NFC reading formats
Add NFC Compatibility
Near Field Communication Tag Reading
To start the process user need to download the database. iPass sdk supports two type of database systems.
This type of database is bundled within the SDK itself. It is a pre-configured and read-only database that comes as part of the app's installation package. Since the database is local to the app, querying this database is generally faster, as it does not involve network latency. This is a custom database designed to meet specific requirements. If you need a custom database tailored to your needs, you can request one by contacting our support team at info@ipass-mena.com.
This type of database is not included in the initial app package but is instead downloaded from a remote server when the app is launched or when certain conditions are met. The server-side database can be updated independently of the app, allowing for more dynamic content and real-time data management. In this database downloading time depends on the internet speed.
DataBaseDownloading.initializePreProcessedDb(dbType: DataBaseDownloading.availableDataSources.fullAuthJordan, completion:{status, error in print(status, error) })
The basic database option provides a streamlined version of the database, focusing on essential data without incorporating any authenticity parameters. This option is suitable if your application does not require advanced security features and you want faster access to core data.
The fullAuth database option is designed for applications that need enhanced security and authenticity features. This version includes additional parameters that ensure the authenticity of the document, making it ideal for scenarios where data integrity and security are critical.
DataBaseDownloading.initializeDynamicDb(completion:{progress, status, error in print(progress, status, error) })
For more accurate results, you can enable the hologram option using the following code snippet. By default, this option is disabled:
configProperties.needHologramDetection(value: true)
iPassSDKManger.UserOnboardingProcess(email: emailStr, password: passwordStr) { status, tokenString in if(status == true) { self.userToken = tokenString! } }
var getList = [[String: Any]]() getList = iPassSDKManger.getWorkFlows()
iPassSDKManger.delegate = self iPassSDKManger.startScanningProcess(userEmail: "sam@gmail.com", flowId: 10031, socialMediaEmail :"samfb@gmail.com", phoneNumber : "978xxxxxx", controller: self, userToken: self.userToken, appToken: self.appToken)
extension ViewController : iPassSDKManagerDelegate { func getScanCompletionResult(result: String, transactionId: String, error: String) { print(result) print(transactionId) print(error) } }
configProperties.setLoaderColor(color: UIColor.red) configProperties.needHologramDetection(value: true) configProperties.setDateFormat(format: "dd/mm/yyyy")
configProperties.needHologramDetection(value: false)
Applications supports following languages
You need to add the multi languages files from the xcode for required languages and you can copy the language keys from the following link
Configuring Webhook URL in Your iPass Account
Your iPass account can be set up to send an HTTP POST request with JSON data to a specified URL upon the completion of an onboarding process. This URL can be configured in the account profile section of the iPass web application.
Steps to Configure the Webhook URL:
We also provide the webhook signature verification here are the instructions to generate the signature in the node js.
const generateSignature = (uid, secret) => { return crypto.createHmac('sha256', secret) .update(JSON.stringify(uid)) .digest('hex'); };
const uid = { uid(uid that will sent you on webhook eg:ad962a61-6dcb-49cd-a863-353b1a5342cc) }; const secretKey = 'secret-key which we share you securely'; const signature = generateSignature(uid, secretKey);
From our side you can get the signature in the headers of webhook.