eSignLive Android SDK: Version 3.7

The eSignLive Android SDK is an SDK that enables users to run e-signature processes from mobile devices that use Android 4.4 KitKat  (API 19) and higher.

This SDK employs a server-client model, with a eSignLive product as "server" and a company's mobile application as "client." The server can be either a SaaS product or an on-premises product.

Because of this server-client model, the Android SDK won't work until both of the following have been configured:

NOTE: Strictly speaking, the Android SDK is only on the client side. The role of the server side is to provide support for the Android SDK.

Download the eSignLive Android SDK.

TIP: To view Release Notes for the eSignLiveAndroid SDK, click eSignLive Android SDK: Release Notes.

Server-Side Software

Signing on mobile devices via the eSignLive Android SDK won't work unless supporting server-side software has been provided. That server-side software becomes available as soon as you create your SaaS account.

Client-Side Software

Signing on mobile devices via the eSignLive Android SDK won't work unless the following procedures have been performed:

If you want to see the SDK's Javadoc documentation, perform the following procedure:

Integrating the Android SDK

To integrate the Android SDK with your existing project, you must sequentially perform the following procedures:

  1. Starting the Integration
  2. Completing the Integration

Starting the Integration

To initiate the integration of the Android SDK into your existing project:

  1. In Android Studio, navigate to the Project Navigator and select Android.
  2. Right-click your app module name, and select Open Module Settings.
  3. From the top of the Project Structure window, click the top-left + (plus) button to add a new module.
  4. From the New Module screen, select Import JAR/AAR Package, and click Next.
  5. In the File name field, select the esl-sdk.aar file, and click Finish.
  6. From the Project Structure window, click the Dependencies tab.
  7. Click + (plus) to add a new dependency.
  8. From the drop-down menu, select Module dependency.
  9. From the Choose Modules window, select :esl-sdk.
  10. Click OK.
  11. Set the esl-sdk module's dependency scope to Implementation.

Completing the Integration

To complete the integration of the Android SDK into your existing project:

  1. Create an Application sub-class as follows:
    1. Create a Java class that extends the MultiDexApplication as follows:
    2. public class ESignLiveApplication extends MultiDexApplication {
      }
      
    3. In the file AndroidManifest.xml, add the following application tag:

    4. android:name=“YOUR_CREATED_CLASS”
    5. To match the theme on the SDK, choose the following theme for your application tag:

    6. android:theme=“@style/Theme.AppCompat.Light.NoActionBar"
    7. Override the following method on the Application sub-class you've just created:

    8. @Override
      protected void attachBaseContext(Context base) {
              super.attachBaseContext(base);
              MultiDex.install(this);
      }
  2. The Android SDK needs a reference to the Application context. Provide that reference by implementing as follows the ESignLiveContextProvider interface on the Application sub- class:
  3.  @Override
     public void onCreate() {
            super.onCreate();
            ESignLive.setContextProvider(this);
    }
    
     @Override
     public Application getApplicationContext() {
            return this;
    }
    
  4. When the SDK wants to take over the User Interface, it needs a reference to your application's currently opened activity (it will initiate its UI on top of that activity). To pass that reference, implement as follows the ESignLiveRootActivityProvider interface on your project's root activity:
  5.  @Override
     protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            …
            ESignLive.getInstance().setRootActivityProvider(this);
    }
    
     @Override
     public Activity getRootActivityForSdkUserInterface() {
            return this;
    }
    
  6. To enable the SDK to connect with eSignLive's server, the server's address must be configured on the SDK (to make the SDK point to the desired instance). Configure the server's address by calling the following method as soon as possible:
  7. ESignLive.getInstance().setServerAddress(“SERVER_ADDRESS”);

    TIP: We recommend that you set the server's address within the onCreate() method of the Application sub-class.

  8. Optional: To receive certain events and callbacks from the SDK, implement the following listeners of your choice:
  9. ESignLiveListener
    CreateTransactionAddDocumentListener
    CreateTransactionViewModel.CreateTransactionListener
    TransactionsOverviewListener
    UpdateUserInfoListener
    UpdatePasswordListener
    

Updating the Gradle Build Script

To update the Gradle build script:

  1. In Android Studio, open the build script build.gradle for your app module.
  2. Add the following line below any other applied plug-ins:
  3. apply plugin: 'realm-android'
  4. Add the root of the script, as follows:
  5. buildscript {
        repositories {
            jcenter()
        }
        dependencies {
            classpath "io.realm:realm-gradle-plugin:3.0.0"
     }
    }
    

    If a buildscript element already exists for your application, you must merge it with the above one.

  6. In the dependencies block of build.gradle, add the following lines:
  7. compile 'com.android.support:appcompat-v7:25.0.0'
    compile 'com.google.code.gson:gson:2.7'
    compile 'com.github.barteksc:pdfium-android:1.4.0'
    compile 'com.android.support:support-v4:25.0.0'
    compile 'com.google.android.gms:play-services:10.0.1'
    compile 'commons-io:commons-io:2.4'
    compile 'com.android.support:multidex:1.0.1'
    compile('commons-validator:commons-validator:1.5.1') {
      exclude group: 'commons-logging'
      exclude group: 'commons-collections'
      exclude group: 'commons-digester'
      exclude group: 'commons-beanutils'
    }
    

    These lines are required for the libraries used by the Android SDK. Ensure that there is a compile project (':esl-sdk') line in the dependencies block. If :esl-sdk is not marked as compile, replace the old value with compile project (':esl-sdk').

  8. At the bottom of build.gradle (i.e., at the root level), add the following lines:
  9. fileTree(dir: 'libs', include: '**/*.aar')
            .each { File file ->
        dependencies.add("compile", [
                name: file.name.lastIndexOf('.').with { it != -1 ? file.name[0..<it] : file.name },
                ext: 'aar'
     ])
    }
    

    Add support for multidex by adding the following line to the gradle: 

    defaultConfig {multiDexEnabled true}

  10. Save the file.
  11. Click Sync Gradle.

NOTE: If the above two procedures were successful, the Android SDK will be able to compile with your application.

Accessing the Javadoc Documentation

To access the Javadoc documentation:

  1. From the Project Navigator, select Project.
  2. Expand the External libraries drop-down menu.
  3. Right-click esl-sdk-unspecified, and select Library Properties.
  4. On the open window, click the + sign.
  5. Locate the folder javadoc-esl-sdk in the directory where you unzipped the Android SDK.
  6. Select that folder.
  7. Press OK. You should now be able to view the Javadoc documentation in Android Studio.

WARNING: If the folder javadoc-esl-sdk is deleted or moved to another location, Javadoc documentation will not be visible in Android Studio.