You can browse our iOS Docs below and navigate using the table of contents.
Overview
The credoSDK for iOS is designed to capture the digital footprint of an iOS smartphone and upload it to the credolab web-service for future processing of scores and fragments.
The diagram below shows the overview of how your mobile app can work with credoSDK for iOS:
Standard flow for mobile: 1. Initialize credoapp SDK 2. Collect credolab dataset 2.1 Check reference number uniqueness 2.2 Collect dataSet 3. Login 4. Get credolab score
There are 6 different modules, one for each of the 6 permissions that the SDK can access: 1. Core
2. Contacts
3. Calendar Event
4. Calendar Reminder
5. Media
6. Music
Since the purpose of this SDK integration is to collect metadata for credit scoring purposes, we recommend you to download and integrate as many modules as possible into your mobile app. However, we recognise that you might not want to add any friction to the current user experience or that you might not want to enable a "dangerous permission". As such, you are free to limit the permissions to the ones that your mobile app already requires.
Rest assured that we collect only metadata, not personal data, and that we can calculate an alternative credit score even if you integrate only the core module.
What is a module?
You can easily customise the the SDK by adding different modules based on the permissions used in the application. Each module is presented as an AAR file that extracts different data types according to the table below:
Extracts various metadata connected with device characteristics and configuration. This includes info about device brand, model, total and available free memory, and other data describing device.
95
Not Required
CredoAppContacts ContactsModule
Additional module.
Metadata connected with Contacts and Contacts Group presented on the device.
60
NSContactsUsageDescription
CredoAppCalendarEvents CalendarEventsModule
Additional module.
Extracts metadata connected with calendar evets information presented on the device.
This includes metadata of calendar events such as whether event has organizer, location, and alarm or not, and etc.
32
NSCalendarsUsageDescription
CredoAppCalendarReminders CalendarRemindersModule
Additional module.
Extracts metadata connected with calendar reminders information presented on the device.
This includes metadata of calendars reminders such as whether reminder has notes, attendees, and alarm or not, and etc.
24
NSRemindersUsageDescription
CredoAppMedia MediaModule
Additional module.
Extracts metadata connected with with pictures, music, audios, and videos that are located in the device.
48
NSPhotoLibraryUsageDescription
CredoAppMusic MusicModule
Additional module.
Extracts metadata connected with audios that are located on the device.
42
NSAppleMusicUsageDescription
How to integrate the credoapp SDK into an Android App
Preconditions
Obtain a unique credoapp authentication key from credolab Representative(s) and use it during the data collection process. If you sign up via website, credolab Representative(s) will send you the authentication key 1-3 days upon sign up.
The minimum deployment target iOS must be set to 9 or higher to use these libraries.
Programming language Swift
Declare permissions to info.plist file from permissions table
Integrate the credoapp SDK into iOS application
Add credoapp SDK modules xcframework files to project Frameworks group
Logging credoapp SDK events (optional)
Credolab highly recommends to log SDK events to gain information for identification and analysis of a particular case. You can use a framework of your choice for this purpose.. An example is below:
If ‘true’ then SDK requests permissions automatically otherwise SDK omits requesting permissions. Default value is ‘true’
Bool
build
Description:
Instantiates CredoAppService class instance.
Signature:
build(): CredoAppService
Parameters:
No
Returns:
Type
Description
CredoAppService
Creates an instance of CredoAppService with target configuration.
Credoapp Service
credoapp.CredoAppService
CredoAppService enables the capture of a client digital footprint with a view to future processing of it at credolab web-service.
Methods
execute
Description:
Collects and uploads data from the phone to the credolab web-service. This method performs networking operations and must be called not on UI thread.
Signature:
execute(referenceNumber: String) : CredoAppResult
Parameters:
Name
Description
Type
referenceNumber
Unique identifier intended to associate dataset, uploaded to credolab web-service, with a record on the lender side. (The max length of 100 characters)
string
Returns:
Type
Description
CredoAppResult
Returns if execute action is succeeded.
CredoAppResult.Error
Returns an error if something went wrong.
Please refer to the error codes table.
Credoapp Result Success
credoapp.CredoAppResult<T>.Success
CredoAppResult.Success enum states for successful operation and may contain a value
Fields
Value
Description:
Returns operation value.
Signature:
value : T
Parameters:
No
Returns:
Type
Description
T
Returns value of generic type.
Credoapp Result Error
credoapp.CredoAppResult.Error
CredoAppResult.Error enum states for unsuccessful operation and contains details
Fields
message
Description:
Returns message value of error.
Signature:
message : String
Parameters:
No
Returns:
Type
Description
string
Returns message value of error.
Code
Description:
Returns a code value of error.
Signature:
code : Int
Parameters:
No
Returns:
Type
Description
Int
Returns code of error. Please refer to the error codes table
Error Codes
Status Code
Reason
Description
30
Duplicated areas error
The extracting areas are duplicated.
40
Value is invalid
The value is invalid.
Example: Auth key is invalid URL is invalid
41
Reference number is not unique or invalid
Reference number already exists.
Example: ReferenceNumber is not unique or invalid
42
Forbidden action error
The subscription configuration is incorrect or has no sufficient rights.