Some test text!
Android / Guides / Connect to server
In realtime collaboration, a server will merely act as an online database that triggers events upon data creation/modification/deletion. As long as the above requirement is met, your server can be built in any language and stack of your choice. Apryse provides an interface that will allow you to connect your data to the out-of-box UI.
Your will need to obtain a reference to CollabManager
from the CollabViewerTabHostFragment2
, then setup the current collaboration session, for example:
void handleTabDocumentLoaded(String tag) {
// setup the current collaboration session
CollabManager collabManager = mCollabViewerTabHostFragment.getCollabManager();
if (collabManager != null) {
collabManager.setCurrentUser(mUserId, mUserName);
collabManager.setCurrentDocument(mDocumentId);
collabManager.setCollabManagerListener(new CollabManager.CollabManagerListener() {
@Override
public void onSendAnnotation(String action, ArrayList<AnnotationEntity> annotations, String documentId, @Nullable String userName) {
// local change, send info to server here
}
});
}
}
When your server notifies the client about remote changes, import the XFDF command string with CollabManager
:
void importXfdf(String xfdfCommand) {
CollabManager collabManager = mCollabViewerTabHostFragment.getCollabManager();
if (collabManager != null) {
collabManager.importAnnotationCommand(xfdfCommand);
}
}
The annotations appearing on the document in real time are managed through a separate XFDF format, while the original version of the document is preserved on the server. Note that the client downloads the original untouched document at the start of the collaboration session.
And that is it! Apryse will handle all annotation syncing and annotation reply for you.
Trial setup questions? Ask experts on Discord
Need other help? Contact Support
Pricing or product questions? Contact Sales