GaitAuth™ SDK Setup

Let’s walk through the initial steps of setting up the GaitAuth™ SDK.


The GaitAuth Android SDK requires:

  • Java 7 or greater
  • Android API level 24 or greater

The GaitAuth iOS SDK requires:

  • Swift 5.1 or greater
  • iOS 10.0 or greater
  • CocoaPods 1.10.0 or greater

Additionally, we recommend that you install the iOS SDK via CocoaPods, a dependency manager for iOS projects. Please refer to CocoaPods Guides - Getting Started for more information.

Installation and Setup


Gradle Dependencies and Repositories

UnifyID Android SDKs are deployed to the Maven Central Repository. To easily include GaitAuth, first add mavenCentral() to your top-level build.gradle in both the buildscript and allprojects blocks, under repositories:

buildscript {
  repositories {

allprojects {
  repositories {

Then, add the following to the dependencies section in your module-level build.gradle file:

// The dependencies block in the module-level build configuration file
// specifies dependencies required to build only the module itself.
dependencies {
  implementation 'id.unify.sdk:sdk-gaitauth:1.6.7'

For more information about the Android build system, please refer to Android Studio - Configure your build.

To download the Android SDK directly, find us on GitHub at

App Permissions and Auto Backup Settings

Prior to using the SDK, you’ll also want to make sure the following permissions are present in the root manifest element of your AndroidManifest.xml file:

<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

Also, if Android Auto Backup is enabled in your project, you’ll want to add tools:replace="allowBackup" under <application ...> of your AndroidManifest.xml:

<manifest ... >
        <!-- Add following line -->
<manifest ... >

Managing App Size

In order to keep your app as small as possible we recommend that you enable code and resource shrinking for your release build. To do so, add the following to your module-level build.gradle file. You can read more about these optimizations here.

android {
    buildTypes {
        release {
            minifyEnabled true
            shrinkResources true
            proguardFiles getDefaultProguardFile(


Once CocoaPods is set up, you’ll want to add the GaitAuth SDK pod to your project:

  1. Add the GaitAuth SDK dependency to your Podfile:
     pod 'UnifyID/GaitAuth'
  2. Add a post install hook to ensure all dependent projects are built with library evolution support:
     # Enable library evolution support on all dependent projects.
     post_install do |pi|
         pi.pods_project.targets.each do |t|
             t.build_configurations.each do |config|
                 config.build_settings['BUILD_LIBRARY_FOR_DISTRIBUTION'] = 'YES'
  3. Install the pod:
    $ pod install
  4. Open your project using the workspace file.

To download the SDK directly, find us on GitHub at and check Releases.

Initializing the SDK

Don’t have an SDK Key yet? Learn how to create your first project.


Initialize an instance of the SDK in your activity’s onCreate() method:

UnifyID.initialize(getApplicationContext(), sdkKey, user, new CompletionHandler() {
    public void onCompletion(UnifyIDConfig config) {
        GaitAuth.initialize(getApplicationContext(), config);

    public void onFailure(UnifyIDException e) {
        // Initialization failed


Initialize an instance of the SDK in your root object or app delegate:

import UnifyID

let unifyid : UnifyID = { try! UnifyID(
    sdkKey: "",
    user: "unique-immutable-user-identifier"

Once the SDK is initialized, you’ll access GaitAuth functionality through its gaitAuth instance:

import GaitAuth
let gaitAuth = unifyid.gaitAuth

The sdkKey and user Parameters

The sdkKey resembles a URL and is found in the Settings section of the UnifyID Developer Dashboard.

The user that you provide during SDK initialization should be a unique, immutable identifier for your user. While this identifier is treated as an opaque string, we highly recommend that you choose a value that does not reveal any additional information about the user. This includes emails, phone numbers, or any other Personally Identifiable Information.

Please make sure that the user identifier is unique across all users and also does not change for a given user.

Next Steps

Now that you have the GaitAuth SDK initialized, you’re ready to move on to creating and training models for your users.

Model Training