1.5 Configurations for the IOS application
This topic provides information on Configurations for the IOS application.
Application level configurations are present in ‘app.plist’ (ZigBank/Resources) of the workspace
Note:
These are configurations for different features. The description of each is in given below formatType - Data Type of value
Purpose - Its usage
Value – The possible values
Configurable – Yes if bank can be allowed to change. No if the value is not allowed to be changed.
- For SERVER_URLs:
Open Xcode by clicking ZigBank.xcodeproj at zigbank/platforms/ios/
This is mandatory configuration.
Add URLs to app.plist (ZigBank/Resources)
OBDXTOKEN (Token based mechanism)
For more information on fields, refer to the field description table.
Table 1-1 Table: OBDXTOKEN
SERVER_TYPE OBDXTOKEN KEY_SERVER_URL
Description of the illustration link3.pngWEB_URL
Description of the illustration link3.png - For SIRI
- This configuration is Optional.
- By default, SIRI capability is set to YES. Bank can disable
it.
For more information on fields, refer to the field description table.
Table 1-2 Table: For SIRI
SERVER_TYPE Description CurrencyCodeType: String
Purpose: Currency code for Siri Payments
Value: Currency Value. Ex: INR
Configurable: YesConfigurable: Yes
SiriRequiredFlagType: Boolean
Purpose: To enable/disable Siri capability
Value: YES/NO
Configurable: Yes
SIRIDebugEnabledType: Boolean
Optional. Can be set only if debugging is required in development mode. Default the value is NO.
Purpose: If we need to debug SIRI flow, this can be set to true. Refer section on how to configure device to debug SIRI.
Value: YES/NO
Configurable: Yes
- Siri-Payload.plist
- This is present in (ZigBank/Resources folder inside IOS workspace.
- It ) is provided to specify entries in the Siri payload based on transaction types (internal, domestic).
- This is required if bank’s SIRI payment payload differs from what is currently present in workspace and if bank needs to add certain mandatory fields for the payload.
- By default, SIRI will work with the given payload so no need to change anything in it.
- To Enable SSL:
- Refer section: Enabling SSL pinning in the application on how to configure the workspace to enable SSL pinning in the application.
- By default, SSL pinning is NO in the
workspace.
Recommended to set to YES for production URLs with a valid authorized SSL certificate on server.
For more information on fields, refer to the field description table.
Table 1-3 Table: Enable SSL
SERVER_TYPE Description SSLPinningEnabled Type: Boolean
Purpose: To enable SSL Pinning. SSL checks are performed on application launch.
Value: YES, for enabling. NO for disabling.
Configurable: Yes
CertificateType Type: String
Purpose: File extension of SSL Pinned certificates
Value: cer
Note: the certificate file added in the workspace should also have .cer extension
Configurable: Yes
PinnedUrl Type: Array
Purpose: Pinning URL to be entered here. This is the https URL of the server against which the certificate will be verified. Can add multiple if required.
Value: https server URL
Configurable: Yes
PinnedCertificateName Type: Array
Purpose: For verification of SSL, this certificate will be pinned in the application and verified against the server URL.
Value: Houses the certificate name (without extension) of the pinning certificate. Old certificate (about to expire) and new one can co-exist.
Configurable: Yes
SSLPinningEnabledNoNetworkCall Provides the option of whether to load the login page if SSL Pinning fails. SSLPinningEnabled also must be set to YES for it to work.
If set to YES and SSLPinningEnabled is set to YES then if SSL Pinning fails, then login page does not load.
If set to NO and SSLPinningEnabled is set to YES then if SSL Pinning fails, then login page loads.
Configurable: Yes
EnableSSLPinningForEveryRequest Type: Boolean
Purpose: To enable SSL Pinning for every request fired from application pages in the entire application.
Value: YES, for enabling. NO for disabling.
Configurable: Yes
- To Enable Force Update:
This is an optional configuration.
Refer section: Enabling Force update on more details on how to configure the workspace for this.
For more information on fields, refer to the field description table.
Table 1-4 Table: Enable SSL
SERVER_TYPE Description ForceUpdate Type: Boolean
Purpose: To enable force update feature in the application.
Value: If set to YES, then the application will check for updates from the Appstore and display a non-dismissing popup. User needs to forcefully update the application. Default value: NO
Configurable: Yes
AppStoreID Type: String
Purpose: The force update will be checked against this application ID
Value: Enter the ID of the application from AppStore.
Configurable: Yes
AppStoreURL Type: String
Purpose: URL to AppStore redirection on click of update button.
Value: It is set to
https://itunes.apple.com/in/app/id@@AppStoreID?mt=8
Just replace @@AppStoreID to what is set above for ‘AppStoreID’
Configurable: Just update as mentioned above. Do not change the URL.
itunesUrlForVersionCheck Type: String
Purpose: URL to check application version in AppStore for force update
Value: It is set to
https://itunes.apple.com/in/app/id@@AppStoreID?mt=8
Just replace @@AppStoreID to what is set above for ‘AppStoreID’
Configurable: Just update as mentioned above. Do not change the URL.
- WATCH Application parameters:
Applicable only if Watch target is added in the workspace.
These are optional configurations.
For more information on fields, refer to the field description table.
Table 1-5 Table: WATCH Application parameters
SERVER_TYPE Description WatchOATCorp Type: Boolean
Purpose: To enable/disable Own Account Transfer through Apple Watch OBDX application for corporate users only. If set to YES, then OWN Account Transfer option will be available in the watch application.
Value: YES, to display the option. NO to hide that option
Configurable: Yes
WatchSnapshot Type: Boolean
Purpose: To enable/disable snapshot capability in Apple Watch OBDX application. If set to YES, then Snapshot option will be available in the watch application.
Value: YES, to display the option. NO to hide that option.
Configurable: Yes
WatchLocateUs Type: Boolean
Purpose: To enable/disable ATM Location option in Apple Watch OBDX application. If set to YES, then ATM Location option will be available in the watch application.
Value: YES, to display the option. NO to hide that option
Configurable: Yes
WATCHMAXATTEMPTS Type: Number
Purpose: The number of time PIN login is allowed in the watch application
Value: Defualt is 3. Change the value to which Bank wants to restrict the PIN invalid attempts. After attempts exhaust, user will be asked to register the application PIN again.
Configurable: Yes
- For Displaying Maintenance Page:
- This is optional configuration. Bank needs to do this if they want to display maintenance page in case of any server error.
- By default, a maintenance page html is provided in workspace inside Zigbank->Staging->www. If bank needs to reconfigure the content, they can edit this page html.
- Also, by default, SHOW_MAINTENANCE_PAGE flag is set to YES
and error code is set to 503.
For more information on fields, refer to the field description table.
Table 1-6 Table: Displaying Maintenance Page
SERVER_TYPE Description SHOW_MAINTENANCE_PAGE Type: Boolean
Purpose: To display a maintenance page if server is down.
Value: true to display. If bank doesn’t need any page to be displayed, it can be set to false. Default is true
Configurable: Yes
MAINTENANCE_PAGE_STATUS_CODE Type: Array
Purpose: To set the status code for which maintenance page is to be displayed. This will be used only if “SHOW_MAINTENANCE_PAGE” value is true.
Value: status code to be checked (E.g. 503, 504 etc) Default value is 503. Bank can set only one value or multiple status codes if required.
Configurable: Yes
Note:
Note: If UI is built and copied into workspace as local UI (by using section 2.5), and bank wants to use maintenance page, then additional changes are required as below: - No need to do these changes if the UI remotely hosted.
- In app.plist, add and additional property “MAINTENANCE_PAGE_URL” as String and set the maintenance page URL which needs to be displayed when server is down.
- Open index.html and add below code in script tag as
below:
<script type="text/javascript" charset="utf-8"> function init() { var maintenancePageUrl,maintenancePageStatusCode,showMaintenancePage; var server_url = "http://ofss-mum-715.snbomprshared1.gbucdsint02bom.oraclevcn.com:17777" var home_html = "?ojr=home"; var url = server_url + "/" + home_html; plugins.appPreferences.fetch(MAINTENANCE_PAGE_STATUS_CODE_SUCCESS, error,'MAINTENANCE_PAGE_STATUS_CODE'); plugins.appPreferences.fetch(SHOW_MAINTENANCE_PAGE_SUCCESS, error, 'SHOW_MAINTENANCE_PAGE'); function MAINTENANCE_PAGE_URL_SUCCESS(value) { maintenancePageUrl = value; showMaintenance(); } function MAINTENANCE_PAGE_STATUS_CODE_SUCCESS(value) { maintenancePageStatusCode = value; } function SHOW_MAINTENANCE_PAGE_SUCCESS(value) { var xmlhttp = new XMLHttpRequest(); xmlhttp.onreadystatechange = function() { if (xmlhttp.readyState === 4) { if (maintenancePageStatusCode.includes(xmlhttp.status) && value) { plugins.appPreferences.fetch(MAINTENANCE_PAGE_URL_SUCCESS, error,'MAINTENANCE_PAGE_URL'); } } } xmlhttp.open("GET", url, true); xmlhttp.send(); } function error(err) { console.log(err); } showMaintenance = function() { var xmlhttpMaintenance = new XMLHttpRequest(); xmlhttpMaintenance.onreadystatechange = function () { if (xmlhttpMaintenance.readyState === 4) { document.getElementById("obdx-dashboard").style.display ="none"; document.getElementById("showMaintenancePageid").innerHTML = this.responseText; } }; xmlhttpMaintenance.open("GET", maintenancePageUrl, true); xmlhttpMaintenance.setRequestHeader("Cache-Control", "no-cache, no-store, max-age=0"); xmlhttpMaintenance.send(); } } </script> - In the body tag add onload="init();" attribute.
- Update the server_url in the above script to bank’s server url
- COMMON CONFIGURATIONS
For more information on fields, refer to the field description table.
Table 1-7 Table: COMMON CONFIGURATIONS
SERVER_TYPE Description XcodeBuildVersion Build version with which the workspace is built with.
Configurable: No
PatchSetVersion Version of the. OBDX application to identify the version of the workspace inside the patch installer. SUITENAME Group identifier for sharing keystore information.
This Should match the app group added in the profile and in Targets->Signing Capabilities.
App Groups are linked with the provisioning profile and its value can be verified from the Zigbank target->Signing Capabilities.
This value is important for the secured storage of the information.
Configurable: Yes
BankName Name of bank to be shown on touch id / face id popup
Configurable: Yes
DomainDeployment To be always set YES for token-based development.
Configurable: No
- For CHATBOT
- This is optional configuration. Bank needs to do this if Oracle Digital Assistant (ODA) is supported in their workspace.
- Adding chatbot support to mobile application refer section: ODA Chatbot Inclusion.
- Refer section: ODA Chatbot Inclusion for more details.
- Below details can be obtained from the Oracle Digital
Assistant portal.
For more information on fields, refer to the field description table.
Table 1-8 Table: COMMON CONFIGURATIONS
SERVER_TYPE Description CHATBOT_ID The tenant ID CHATBOT_URL The web socket URL for the Chat application in ODA portal
- For location tracking metrics
- This is optional. Bank needs to do if they need location tracking metrics for monitoring location-based data.
For more information on fields, refer to the field description table.
Table 1-9 Table: Location tracking metrics
SERVER_TYPE Description ALLOW_LOCATION_SHARE By default, the value is false. If set to true, user will get location permission prompt to allow location tracking. It can be enabled if user’s location needs to be tracked. - For displaying “Rate Us” to redirect to Appstore page
- This is optional. User can have an option (“Rate Us”) in
settings to display App Store rating for the application. This option
can be enabled/disabled from UI. Also, on click of the option, to open
AppStore page for the application set below value.
For more information on fields, refer to the field description table.
Table 1-10 Table: Displaying “Rate Us” to redirect to Appstore page
SERVER_TYPE Description AppStoreURL Replace @@AppStoreID with that of the application.
- This is optional. User can have an option (“Rate Us”) in
settings to display App Store rating for the application. This option
can be enabled/disabled from UI. Also, on click of the option, to open
AppStore page for the application set below value.
Parent topic: OBDX Servicing Application