Setting up the mobile app

You can clone or download the GitHub repository and compile using the example codes provided in GitHub. It is not required for you to write the codes in this case.

For Android development

Recommended environments

  • macOS / Windows / Linux
  • Android Studio 4.0 or later
  • Android V5.0 or later
  • Android SDK with at least one platform target setup
  • Java 8

Prerequisites

Ensure that these libraries are available in Protector OATH SDK before setting up the mobile app:

  • Protector OATH library
  • FastTrack library

Installing the Android app

  1. Install GIT on your machine and type the following command to clone the Android repository:
$  git clone https://github.com/ThalesGroup/fasttrack-api-example.git
$  git checkout tags/6.0.0
  1. Launch Android Studio and open the project from the newly cloned folder.
  2. Depending on your needs, you may perform by either:
    • Copying the Debug folder from the deliverable package path android/debug and android/fasttrack/debug to the <path_to_repository>/app/libs/ folder.
    • Copying the Release folder from the deliverable package path android/release and android/fasttrack/release to the <path_to_repository>/app/libs/ folder.
  3. To add the Protector OATH library as a dependency, refer to Installing Protector OATH SDK for more details.
  1. To link the binaries with libraries, add the Java Native Access (JNA) dependencies needed by the Protector OATH library.
Linking binaries with libraries
android {
    defaultConfig {
        ndk {
            abiFilters 'arm64-v8a', 'x86_64', 'armeabi-v7a', 'x86'
        }
    }
}
dependencies {
		implementation 'net.java.dev.jna:jna:5.5.0@aar'
}
  1. Configure your modules according to your onboarding output form:
File Property/Method Description
FastTrackApplication.java FULL_ACTIVATION_CODE Activation code is used to enable supported features.
ProtectorConfigurations.java getEpsUrl() The URL of the Enrollment API endpoint. For example, https://BankServer/api/provisioning/pp.
getEpsDomain() Enrollment & Provisioning Server (EPS) Domain
getEpsRsaKeyId() Identifier of the EPS server’s public RSA key.
getEpsRsaKeyModulus() The RSA modulus of the EPS public key (on provisioning protocol level, not transport level).
getEpsRsaKeyExponent() The RSA exponent of the EPS public key (on provisioning protocol level, not transport level).
MessengerConfigurations.java getMessengerServerUrl() URL of Mobile Messenger Server.
getApplicationId() Application ID
getUserId() User ID
getUserAlias() User alias
getDomain() Mobile Messenger Server domain
getProviderId() Provider ID
getPublicKey() Public key object
getObfuscationKey() Transaction signing obfuscation key
getSignaturePublicKeyPem() Transaction signing key in PEM format
  1. For Dexguard decryption, use the following code snippet in the Application class of the onCreate() method:
System.setProperty("java.io.tmpdir", getDir("files", Context.MODE_PRIVATE).getPath());
  1. Build and run the app.

For iOS development

Recommended environments

  • macOS development platform
  • Xcode 11.3.1 or later

Prerequisites

Ensure that these frameworks are available in before setting up the mobile app:

  • Protector OATH framework
  • FastTrack framework

Installing the iOS app

  1. Install GIT on your machine and type the following command to clone the iOS repository:
$  git clone https://github.com/ThalesGroup/fasttrack-api-example.git
$  git checkout tags/6.0.0
  1. Launch Xcode and open the project named FastTrackExample.xcodeproj from the newly cloned folder.
  2. Depending on your needs, you may perform by either:
    • Copying the Debug folder from the deliverable package path ios/Debug and ios/fasttrack/Debug to the <path_to_repository>/Frameworks/ folder.
    • Copying the Release folder from the deliverable package path ios/Release and ios/fasttrack/Release to the <path_to_repository>/Frameworks/ folder.
  3. Add the EzioMobileFastTrack.framework path to the project’s Framework Search Paths section.
  4. Add EzioMobileFastTrack.framework path to the project’s Link Binary with Libraries section.
  5. Add the EzioMobile.framework path to the project’s Framework Search Paths section.
  6. Add the EzioMobile.framework path to the project’s “Link Binary with Libraries” section.
  7. Configure your modules according to your onboarding output form:
File Property Description
FastTrackExample.swift activationCode To enable the individual supported features.
ProtectorConfiguration.swift epsUrl() The URL of the Enrollment API endpoint. For example, https://BankServer/api/provisioning/pp.
domain() EPS Domain
rsaKeyId() Identifier for the EPS server’s public RSA key.
rsaKeyModulus() The RSA modulus of the EPS public key (on provisioning protocol level, not the transport level).
rsaKeyExponent() The RSA exponent of the EPS public key (on provisioning protocol level, not transport level).
MessengerConfigurations.swift messengerServerUrl() The URL of Mobile Messenger Server.
applicationId() Application ID
userId() User ID
userAlias() User alias
domain() Mobile Messenger Server domain
providerId() Provider ID
rsaExponent() RSA Exponent
rsaModulus() RSA modulus
obfuscationKey() Obfuscation key
signaturePublicKeyPem() Signature key from string
  1. Build and run the app.
Note

Since the frameworks are built from Objective-C, you have to create a bridging header file to expose FastTrack headers to swift app. https://developer.apple.com/documentation/swift/imported_c_and_objective-c_apis/importing_objective-c_into_swift