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.

Example applications are expected to be replaced or customized by the customer to suit their own integration with the Spark Communications SDK for JavaScript.

The Spark Communications SDK Components

components

  • SparkCommunications
    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.

  • SparkCommunications.Messenger
    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.

  • SparkCommunications.Media
    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.

  • SparkCommunications.Event
    This library defines structure of the events emitted by the SparkCommunications and SparkCommunications.Messenger objects.

  • SparkCommunications.Error
    This library defines the different error classes that may by returned by the SparkCommunications and SparkCommunications.Messenger interfaces.

Utilities

Cloud Key Storage

Customized Message Storage

Examples

The Developer Guide provides a collection of example applications that demonstrate the functionality offered by the Spark Communications SDK.

The Support Library Components

Authentication

The Support library provides several reference implementations to help you get started using the Spark Communications SDK with your own identity provider.

Please refer to Developer Guide for more information on Identity Providers.

  • MockAuthManager
    A reference implementation that performs no user authentication.

  • GoogleAuthManager
    A reference implementation using Google's OAuth 2.0 APIs to authenticate users of your application.

  • AzureAuthManager
    A reference implementation using Microsoft's Azure Active Directory v2.0 OpenID Connect APIs to authenticate a user against your application's Active Directory instance.

User Management

The Support library provides several reference implementations to help you get started using the Spark Communications SDK with your own user management.

Please refer to the Developer Guide for more information on User Management.

  • MockUserManager
    A reference implementation that allows contacts to be managed using the browser's local storage.

  • GooglePeopleUserManager
    A reference implementation that allows contacts to be managed using Google's People APIs.

  • AzureUserManager
    A reference implementation using the Microsoft Graph API to access basic user information from your application's Active Directory instance.

  • FirebaseUserManager
    A reference implementation for managing a user's contacts using Google's Firebase Realtime Database. This module can be used to create and maintain a user's social graph.

Key Management

The Support library provides several reference implementations that meet the Cloud Key Storage requirements. If your application uses the BlackBery Key Management Service, you do not use these classes.

  • FirebaseKeyProvider
    A reference implementation of the KeyProviderInterface using Google's Firebase Realtime Database.

  • CosmosDbKeyProvider
    A reference implementation of the KeyProviderInterface using Microsoft Azure Cosmos DB. This implementation uses the Key Provider Server example application to enforce key access permissions in order to meet the Cloud Key Storage requirements.

  • KeyProtect
    A reference implementation for protecting and unprotecting keys for export and import when using Cloud Key Storage. This class works with the FirebaseKeyProvider or the ComosDbKeyProvider.