Instant usage on Android
This guide will give you an overview of the Instant API and how to use it for displaying documents from the server.
API Overview
The entry class into Instant is InstantClient
. This represents a connection to Document Engine. An app typically creates one InstantClient
, although it could create several to connect to multiple Document Engine instances.
Instant manages downloading and storing PDF files when your app requests this. Each PDF file managed by Instant is identified by its documentId
and can have one or more named layers. Each layer represents a separate set of annotations displayed on top of the base document and is identified by its name.
In your app, each Instant layer is represented by an InstantDocumentDescriptor
instance that can be created by calling getInstantDocumentDescriptorForJwt()
on an InstantClient
. For each document layer, your app must obtain a JSON Web Token (JWT) from your server.
A document descriptor may be used to request downloading the associated PDF file and all annotations in the layer. Once that has finished, an InstantPdfDocument
may be created. Set this document on an InstantPdfFragment
or InstantPdfActivity
and then show it to the user. Changes to annotations will be synchronized for all users viewing the same document.
InstantPdfFragment
is a subclass of PdfFragment
, just as InstantPdfActivity
is a subclass of PdfActivity
, and both can be used to show only InstantPdfDocument
. Trying to display a PdfDocument
instance will result in an exception being thrown. Conversely, showing a PdfDocument
created by Instant in any activity or fragment not subclassing InstantPdfActivity
or InstantPdfFragment
, respectively, is not supported.