What is the Aclipsa system and SDK?

The Aclipsa system allows you to easily integrate video content distribution and/or video messaging into your iOS or Android app. The associated SDKs are designed to make it as easy as possible to drop this functionality into your existing app (or into a new project) with minimal lines of additional code.

What can I do with the Aclipsa SDK?

The Aclipsa SDK can be used in two primary ways, with as many or as few features as you’d like.

Video Content Distribution: Securely provide access to streaming videos. Upload videos via your mobile app or website, and watch them on a variety of mobile devices. We use HTTP Live Streaming (HLS) to provide multiple streams in order to ensure the best possible resolution for a given mobile device and connection quality. Videos can be made available to every authorized user or to just a subset (e.g., those who have paid, employees in a certain department, etc.). You can also track how much of a video has been watched by each user. Videos may also be encrypted for additional security and privacy.

Video Messaging: Securely provide text and/or video messaging services. Send a message from one user to one or more others, including a title and description. Retrieve a list of messages, and play their videos. Reply to, forward, delete, or recall a message.

What programming skills do I need in order to use the Aclipsa SDK?

Integrating video content and messaging into your existing app is very straightforward.

iOS: You should be familiar with iOS programming in Xcode with Cocoa Touch, having built at least a couple of apps.

Android: You should be familiar with Java programming with the Android SDK, having built at least a couple of apps.

Do I need to set up servers on my own?

Aclipsa handles storage, transcoding, and encryption, so you won’t need servers for any of that. You may or may not need your own additional server, depending on your application.

Because we intentionally do not store any kind of user information besides a simple ID, if your app requires user authentication or associating videos or messages with other details (such as names) then yes, you will need a server for that purpose. There are a variety of mBaaS solutions that can provide this service. If you already perform user authentication, you’ll be able to easily integrate Aclipsa into your system.

For certain uses you may need to add a small bit of callback server code to your system, but it’s entirely one-way: we provide information about messages and video content to you, never making any kind of request.

If you already have an app that provides some kind of messaging between users via a server you control, adding Aclipsa video messaging is especially simple.

How much does it cost?

The SDK is free of charge, and you can build your app and test it in a sandbox development environment for free as well.

Services are priced based on the number of minutes of video that need to be processed by our system, and by the number of minutes of video that are streamed to your users. See the Pricing section for an estimate; when you’re ready for more details, please contact us using the form below.

How can I get it?

iOS: Pull the repository from GitHub: https://github.com/Aclipsa/messaging-sdk-ios

Import the SDK into your project, or use Cocoapods and add the following to your podfile: pod 'AclipsaSDK'

Android: Pull the repository from GitHub: https://github.com/Aclipsa/messaging-sdk-android

Copy the aclipsasdk.jarand common.jarinto the libs folder of your project, or use Maven.

Sign up to become an Aclipsa Developer and we’ll send you an API Key and Shared Secret, which you’ll use to develop/modify your app.

What's in the Aclipsa SDK package?

iOS: We provide both Objective C and Swift versions. They include headers, a compiled binary for including in your project, documentation, and a full reference app that demonstrates how to implement the SDK’s features.

Android: A Java Archive (.jar) file for including in your project (supported by both Eclipse and Android Studio), documentation, and a full reference app that demonstrates how to implement all of the SDK’s features.

What is an Aclipsa app?

When you sign up for the SDK you become a “client” in the system. This allows you to have multiple Aclipsa apps, each of which is associated with a mobile app of your own. User IDs you create for users of the system automatically work across all of your Aclipsa apps.

What is the API key?

Each Aclipsa app has a specific key used to identify it in our system. When your mobile app or website first requests access to the system, it sends the app-specific API key in order to authorize its use.

What is the Shared Secret?

For server-to-server communication (see “Do I need to set up servers on my own?” above), we provide a shared secret that allows your server to ensure that callback information is indeed coming from our servers.

How does the sandbox/staging server work?

While integrating Aclipsa’s services into your app, you can freely test video content delivery and messaging without concern that the information will be publicly available to your users. Once you’re ready to send your app out into the world, we’ll provide another API key to use for production.

What is a video?

In terms of the Aclipsa system, it is a video file, transcoded for streaming and optionally encrypted, along with a unique identifier and an optional text title. It can be accessed via the SDK in apps, and it can optionally be associated with a message.

What is video playback tracking?

While a video is being watched on a mobile device, the SDK can send information back to the server about which parts of it are being watched by a given user. This tracking information can be used to determine how much of a video a given user has watched.

What is a user?

In terms of the Aclipsa system, a user is associated with an identifier of your choosing, commonly matched on your own server with the same ID. Aclipsa does not store any personally identifiable information about your users, and therefore we recommend the ID you supply be a number or GUID, in order to remain anonymous on our servers.

What is a message?

A message consists of a sender’s ID, one or more recipient IDs, and optionally, associated message text and/or a video. Sending a message stores it in our system and optionally sends a callback message to your server so that you can notify the recipients. It can also trigger a push notification. The SDK provides convenience methods for replying to, forwarding, recalling, and deleting messages.

How does message recall differ from deletion?

A message recipient can choose to delete a received message; doing so removes it from the that user’s message list but has no effect on the other recipients or the sender. A message sender can choose to delete a sent message; doing so removes it from that user’s message list and from all recipients. A message sender can also choose to recall a sent message from its recipients; doing so removes it from recipient message lists, but has no effect on the sender. It can later be un-recalled, making it available to recipients again.

What is screenshot reporting?

iOS: If the recipient uses the system screenshot function to take a screenshot of a playing or paused video, the SDK notifies Aclipsa’s server, which records the fact, sends a callback message to your server, and optionally sends a push notification to the sender.


Android: Screenshots are similarly reported, though the operating system allows developers to disable screenshots entirely, if desired.

What is a conversation?

A conversation is simply a group of messages sent between two or more users. The SDK provides a simple way to automatically determine which messages are part of each conversation.

What platforms does the Aclipsa SDK support?

The SDK supports iOS 7.0 and later and Android OS 4.0 and later.

How is the video and audio quality?

By default both video and audio quality are very good on mobile devices; using HTTP Live Streaming allows us to send higher quality video when the user’s connection is better. If exceptionally high quality is desired for your application, simply let us know and we’ll set your configuration to match your greater needs, adjusting the pricing accordingly.


 

How long is a video stored?

By default a video is stored on our servers for 30 days. We are happy to arrange for longer storage periods at your request.

Can I control the video thumbnail?

Not at this time. The SDK automatically generates a thumbnail from the video file itself.

Didn’t find the answer?

At Aclipsa, customer service is our number one priority! Send us your question, and we will get you the solution within 24 hours!

Send Questionclear