Android SDK

credolabSDK for Android is a Kotlin library designed to capture a client’s device metadata from an Android device and upload it to the Credolab web service for future processing of scores and insights.

Versions

📘

Go to the "Declare dependencies" section of the Android SDK Integration documentation to learn how to resolve these artefacts in your project

❗️

3.x.x Compatibility

4.x.x modules are not compatible with previous versions of Credolab Android SDK, excluding Logging Plugin

Artifact IDVersionPermissions
modular.core

Please note that starting from 3.x.x, the CoreModule artifact id has been changed from modular.core.proxy.encrypt to modular.core.
4.10.0android.permission.ACCESS_WIFI_STATE
android.permission.USE_FINGERPRINT
android.permission.ACCESS_NETWORK_STATE
android.permission.USE_BIOMETRIC

Requires declaration of the <queries> tag in the AndroidManifest.xml. Read more
modular.account4.0.0android.permission.GET_ACCOUNTS
modular.behavioral4.6.0android.permission.ACCESS_NETWORK_STATE
android.permission.DETECT_SCREEN_CAPTURE
modular.calendar4.0.0android.permission.READ_CALENDAR
modular.contact4.1.0android.permission.READ_CONTACTS
modular.fraudforce4.1.0-
modular.audio4.0.0android.permission.READ_EXTERNAL_STORAGE
android.permission.READ_MEDIA_AUDIO
modular.images4.2.0android.permission.READ_EXTERNAL_STORAGE
android.permission.READ_MEDIA_IMAGES
Starting from 4.2.0:
android.permission.READ_MEDIA_VISUAL_USER_SELECTED
modular.video4.1.0android.permission.READ_EXTERNAL_STORAGE
android.permission.READ_MEDIA_VIDEO
Starting from 4.1.0:
android.permission.READ_MEDIA_VISUAL_USER_SELECTED
modular.callog4.0.0android.permission.READ_CALL_LOG
android.permission.READ_CONTACTS
modular.sms4.0.0android.permission.READ_SMS
android.permission.READ_CONTACTS
modular.logging4.1.0-
iovation5.2.1-
modular.application

Please note that if the Core module version 4.6.0 or higher is used, there is no need to include the Application module
4.1.0Requires declaration of the <queries> tag in the AndroidManifest.xml. Read more

Modules

Core

📥

Main module

Mandatory

📘

Starting from version 4.6.0, the Core module includes functionality for collecting application metadata. Additionally, beginning with this version, the module automatically adds the <queries> section with the intent action android.intent.action.MAIN to the application's Manifest file

Extracts various metadata connected with device characteristics & configuration, media (internal storage), and data collection process. This includes info about the device's brand, model, storage, total and available free memory, battery characteristics, Wi-Fi, Bluetooth, and other device description data.

Permissions

Requires only normal permission declaration

  • android.permission.ACCESS_WIFI_STATE
  • android.permission.USE_FINGERPRINT
  • android.permission.ACCESS_NETWORK_STATE
  • android.permission.USE_BIOMETRIC

Starting from 4.6.0 an intent query declaration is required:

    <queries>
        <intent>
            <action android:name="android.intent.action.MAIN" />
        </intent>
    </queries>

Account

📦

Additional module

Extracts metadata connected with user's accounts on the device. For example, Gmail, Facebook, etc.

Permissions

  • android.permission.GET_ACCOUNTS

Behavioral

📦

Additional module

Extracts metadata related to the user’s in-app behavior, such as touch, taps, text input, scroll, etc.

Permissions

  • android.permission.ACCESS_NETWORK_STATE
  • android.permission.DETECT_SCREEN_CAPTURE

Calendar

📦

Additional module

Extracts metadata connected with calendar information presented on the device. This includes the following attributes of calendars Events, Attendees, and Reminders.

Permissions

  • android.permission.READ_CALENDAR

Contact

📦

Additional module

Extracts metadata connected with Contacts and Contacts Group presented on the device.

Permissions

  • android.permission.READ_CONTACTS

FraudForce

📦

Additional module

Requires third party TruValidate(formerly known as iovation) module, it's available through credolab repositories

Extracts device profile metadata collected by TruValidate SDK, such as device type, geolocation & browser information, and system settings.

Permissions

Doesn't require permission declaration

Audio

📦

Additional module

Extracts metadata connected with music, audio files that are located in the external storage.

Permissions

  • android.permission.READ_EXTERNAL_STORAGE
  • android.permission.READ_MEDIA_AUDIO

Images

📦

Additional module

Extracts metadata connected with images files that are located in the external storage.

Permissions

  • android.permission.READ_EXTERNAL_STORAGE
  • android.permission.READ_MEDIA_IMAGES
  • android.permission.READ_MEDIA_VISUAL_USER_SELECTED * Starting from module version 4.2.0 and above

Video

📦

Additional module

Extracts metadata connected with video files that are located in the external storage.

Permissions

  • android.permission.READ_EXTERNAL_STORAGE
  • android.permission.READ_MEDIA_VIDEO
  • android.permission.READ_MEDIA_VISUAL_USER_SELECTED * Starting from module version 4.1.0 and above

Call Log

📦

Additional module

Extracts metadata from calls log.

Permissions

  • android.permission.READ_CALL_LOG
  • android.permission.READ_CONTACTS

SMS

📦

Additional module

Extracts metadata related to SMS presented on the device.

Permissions

  • android.permission.READ_SMS
  • android.permission.READ_CONTACTS

Application

🚧

The Core module from version 4.6.0 includes functionality for collecting application metadata. If you are using the Core module version 4.6.0 or higher, there's no need to include the Application module in your app.

📦

Additional module

Extracts information related to how many applications are installed on the device and the respective metadata connected with that app, features, and existing permissions.

Permissions

No permission declaration is needed, however, an intent query is required:

    <queries>
        <intent>
            <action android:name="android.intent.action.MAIN" />
        </intent>
    </queries>

Plugins

Logging

📦

Optional plugin, use this to allow credolab to monitor SDK errors

🚧

credolab highly recommends using a logging plugin to gain information for identifying and analyzing a particular case.