The BlackBerry Spark Communications Services provides a framework to develop real-time, end-to-end secure messaging capabilities in your own product or service.
The Spark Communications security model ensures that only the sender and intended recipients can see each message sent, and ensures that messages aren't modified in transit between the sender and recipient. Spark Communications also provides the framework for other forms of collaboration and communication, such as push notifications, secure voice and video calls, and file sharing. You can even extend and create new types of real-time services and use cases by defining your own custom application protocols and data types.
The core components:
This class is responsible for establishing and maintaining connectivity to the Spark Communications infrastructure. It provides access to the messaging, media, and endpoint management interfaces.
This class offers the Spark Communications SDK messaging interfaces. It provides methods for creating, inviting, joining, and leaving chats as well as methods for interacting with those chats.
This library offers the Spark Communications SDK media interfaces. It provides methods and events for making, accepting and interacting with voice/video calls and data only connections.
This library defines structure of the events emitted by the BBMEnterprise and BBMEnterprise.Messenger objects.
This library defines the different error classes that may by returned by the BBMEnterprise and BBMEnterprise.Messenger interfaces.
Spark Communications SDK utilities:
This library exposes some utility functions that are useful when dealing with binary data.
This library provides some utility functions that are useful when dealing with UTF-8 data.
Components for customizing the Spark Communications SDK message storage:
The virtual interface that must be overridden by any application that needs to implement a custom data storage for chat messages.
This library provides some convenient implementations of the MessageStorageInterface.
Components for customizing the Spark Communications SDK's Cloud Key Storage:
BBMEnterprise.KeyProviderInterface The virtual interface that must be overridden by any application that will be using Cloud Key Storage. Applications using the BlackBerry Key Management Service (KMS) do not make use of the KeyProviderInterface.
A reference implementation of the KeyProviderInterface using Google's Firebase Realtime Database.
A reference implementation of the KeyProviderInterface using Microsoft Azure Cosmos DB. This implementation uses the KeyProviderServer to enforce key access permissions to meet the Cloud Key Storage requirements.
Components for customizing your application's identity and user management:
A reference implementation of user contact list management module based on Google's Firebase Realtime Database.
A reference implementation using Microsoft's Graph APIs to access basic user information from your application's Active Directory instance.
A reference implementation using Google's OAuth 2.0 APIs to authenticate users of your application.
A reference implementation using Microsoft's Azure Active Directory v2.0 OpenID Connect APIs to authenticate user of your application against your application's Active Directory instance.