Today on Developer Deep Dive we are live from my bedroom,
in San Francisco.
We'll be going deep on our brand new Android
SDK, which brings our customers native eSignature
functionality.
We'll discuss that and more with key members of DocuSign's
mobile engineering team.
[UPLIFTING MUSIC]
Hi my name is Matthew Roknich, a member
of the developer advocacy team.
I'm here today with a guest panel
from the mobile engineering team, Shanthi Kongara.
Thanks, Matt
And Naveen Tulseela.
Thanks, Matt.
Looking forward to it.
It's good to have you both on.
Shanthi, I'll start with you.
Can you give us an overview of the SDK?
Sure, Matt.
The Android SDK enables developers
to implement a variety of DocuSign features
more easily in their Java, Kotlin, and Xamarin apps.
This includes basic and loop creation, template offline
signing and sending, offline signing of documents,
syncing signed documents with DocuSign.
Perfect.
Can you talk a little bit more about offline signing?
What is that?
Sure.
Offline signing enables to user to sign
a document in offline mode, that is when there
is no internet connection, and sync the envelope
when the device comes online.
Now, Naveen, what about compatibility
in future support?
How does this SDK compare to our existing iOS SDK?
Sure, Mike.
IOS, and Android SDK supports the following features,
authentication, offline signing, offline templates,
create the link tags and recipient data, individual
and bulk envelope syncing, and telemetry, Now
let's go through the features supported by iOS SDK
but not available in Android SDK yet.
Online sending and signing, offline
supported tag types, such as date format type, and branding.
Incredible.
Shanthi, could you show us a sample workflow using the SDK?
Sure.
I am going to navigate to a sample application.
And I'm going to show a single flow
involving authentication, creating an envelope,
offline signing and syncing.
Later on I'm going to walk you through the code
to accomplish this flow.
Now this is my emulator and this is my sample application, which
DocuSign is G-Key integrated.
I'm going to log in now and you can
see as G-Key is loading the logging UI.
Let me enter my test credentials, password.
I'm going to log in and it's asking me for code.
Let me get the code.
Now I'm logged in.
And you can see a create and log button, here.
Upon tapping it, it's going to create
and unlock with two in-person signers, each with a signature
tag.
Now let me create the unlock, and you
can see the toast saying, unlock created successfully.
Now let's sign this unlock in offline mode.
First, I'm going to get John's signature.
And you can see the document, and this is a signature tag.
Let's get the signature.
I'm going to finish the signing and now
let's get Pat's signature.
I'm going to finish the signing.
Now the unlock is signed successfully.
Now let's sync the unlock.
Upon successful syncing of the unlock, you'll get a dialogue,
now the unlock is synced successfully.
So, in this demo, we have seen authentication,
creating an unlock offline signing and syncing it.
Let's dive into the code.
The first step to integrate DocuSign SDK
is to instantiate the SDK in the client app.
This is done by calling init method.
That takes context, client ID, client secret,
and redirect URL.
The client ID, client secret, and redirect URL
can be updated from DocuSign account admin settings.
Now that we instantiate, let's log in.
As you have seen in the demo, SDK
takes care of loading the login UI.
All you have to do is to call log in method
on the authentication delegate class and pass request code
and the callback is there.
Upon a successful login, onSuccess callback is called.
Now, let's create an envelope.
To create an envelope, we first build an envelope,
and then pass it to the SDK.
Now, envelope can dissolve documents, recipients,
and tabs.
To build an envelope, SDK provides you
with a builder pattern through which
you can pass documents and define document ID, name, URL.
You can build a recipient and define
recipient ID, routing order, host name
and email, recipient type, and for the tabs,
you can build tabs by defining tabs
x and y location, recipient ID, document ID, and page number.
Once envelope is built, you have to pass it to the SDK.
And the way we do it is by calling
compose and send envelope method on envelope delegate class.
Upon successful creation of the envelope,
SDK calls onSuccess callback, along with the envelope ID.
Now, to sign this envelope in offline mode,
call the same method on signing delegate class
and pass in the envelope ID.
Upon successful sign in, the onSuccess callback is called.
And to sync it, we have to call sync envelope method
on the envelope delegate class.
Now, upon successful sync, onSuccess callback is called.
As you can see, with few lines of code,
you can accomplish all the steps shown in the sample lab demo.
DocuSign SDK takes care of all the heavy lifting work for you.
Wow, that was awesome.
Thank you so much, Shanthi.
Thank you, Matt.
Now Naveen, over to you.
Where can our developers go to get
started using our Android SDK?
Sure.
We have SDK hosted on GitHub.
You can also find an in-depth README for both Java,
Kotlin, and Xamarin, which includes
installation instructions and some code examples
to get you started.
For Xamarin applications, Android SDK NuGet package
is available to download in public NuGet repository.
Fantastic.
Shanthi and Naveen, thank you so much for joining today's
episode of Developer Deep Dive.
It's our pleasure, Matt.
And before you go, we actually had a virtual hackathon
happening right now.
It's a two month hackathon.
We partnered with the Forest Stewardship Council
to identify a handful of real world use cases
that you could help build out and impact some real change.
Plus, there's about $50,000 on the line for you to win.
If you're interested, the link to register for the hackathon
is also in the description below.
If you like that video, be sure to subscribe
to our channel for the latest DocuSign developer content.
If you want to see a specific topic in a future video,
comment below.
For everything else, visit the DocuSign developer center.