CXone Mobile SDK
To help you get started implementing the mobile SDK, you must purchase the basic implementation package from NICE.
CXone Mobile SDK lets you integrate CXone digital chat into your enterprise mobile phone apps. This lets app users chat with your contact center agents and bots through digital Any channel, contact, or skill associated with Digital Experience. chat channels. The SDK simplifies the process of implementing digital chat; developers do not need to handle business logic implementation. The main task of your developers is visually displaying and managing features that you set up in CXone, like push notifications or rich messages. The SDK supports both iOS and Android apps. iOS apps must be written in Swift and Android apps must be written in Kotlin .
With CXone Mobile SDK:
- You can implement both LiveChat and Chat Messaging chat channels.
- LiveChat is real-time messaging.
- Chat Messaging is asynchronous messaging, like direct messages (DMs).
- Contacts can have multiple interactions with your contact center at the same time through multi-thread In a multi-threaded app, contacts can create as many threads as they want to discuss new topics. These threads can be active at the same time. messaging. You can also set up a single-thread In a single-threaded app, each contact can have only one chat thread. Any interaction they have with your organization takes place in that one chat thread. configuration.
- You can use rich media to add interactive messages like quick replies, lists, or links to your in-app chat.
- Contacts and agents can share attachments with each other, like videos and documents.
- Contacts and agents can stay engaged by seeing when the other is typing.
- You can trigger in-app and push notifications based on events, such as the arrival of a new message.
- You can create proactive rules to pop content in the app based on events or conditions.
- You can jump start interactions with welcome messages and pre-chat forms to gather initial information from a contact.
For an at-a-glance look at the benefits of the SDK, you can check out the CXone Mobile SDK data sheet . You can also watch a short demo video .
A software development kit (SDK) is like a toolbox for developers. It provides a set of tools and resources that make building software applications easier. You could think of it as a collection of pre-made building blocks. These building blocks have existing functionality. Your developers can use these existing blocks instead of building the functionality on their own from the ground up. The following are four general benefits to using an SDK:
-
Efficiency: The SDK provides ready-made tools and pre-built components that save developers time. Instead of reinventing the wheel, they can focus on the unique aspects of their app.
-
Consistency: The SDK ensures consistency across different apps. By using the same set of tools and libraries, developers maintain a uniform experience for users.
-
Platform Compatibility: The iOS and Android SDKs are tailored for their respective platforms. They handle platform-specific complexities, making it easier to create cross-platform apps.
-
Quality Assurance: With the logger, developers can verify their code, catch bugs early, and deliver more reliable software.
In summary, an SDK simplifies development, ensures quality, and fosters collaboration, making it an essential tool for efficient app creation.
SDK Resources
Download the SDK packages from public GitHub repositories (Android iOS ). Both repos contain a README file to help you get started developing. They also offer use cases with code samples in /docs. Use these as inspiration as you develop your chat. Both repositories also include changelogs.
You can access the API references in your browser (Android iOS ).
Your developers can also look at sample applications for both Android and iOS platforms. These help developers see examples of implemented functionality.
Mobile SDK Versioning
The current version of the SDK is 2.0, which correlates with the CXone 24.2 major release. The SDK Resources section above provides links to the most up-to-date resources.
In the SDK repositories, you can use the tags to find previous versions of the SDK.
How the Mobile SDK Fits into Digital Experience
The mobile SDK is a way to extend Digital Experience and provide digital chat in mobile apps. Digital Experience is the part of CXone that supports digital channels. Examples of digital channels are WhatsApp, posts on Facebook, or digital chat. To add CXone digital chat into your apps, you must configure certain features in the Digital Experience section of the CXone interface. Then, with the SDK, you access and use features that you set up in CXone.
For example, part of the getting started process is to set up a digital chat channel in CXone. Your app creates a WebSocket connection with the channel you created. You could also set up advanced features like welcomes messages or pre-chat surveys. These give you a variety of options to streamline your app users' experience. Users can provide initial information about their issue or request, enter basic personal data, and so forth. These features are initially set up in CXone, which you can then use with the SDK.
Building Your Chat UI
As the integrator, you are responsible for building your chat UI. This is necessary to take advantage of certain features like displaying and working with files or recording voice messages. For example, you would need to add a button for contacts to press to access the device's microphone to record the message. You can reference the sample applications (Android iOS ) for examples of how to implement the UI.
You can use a third-party UI development kit, like MessageKit. However, this might be limiting depending on your use case. Also, NICE CXone does not own or provide support for any third-party UI package.
Before You Start Developing
Consider the following items before building with the mobile SDK:
- Do you have both an administrator and agent account in CXone? Can an administrator assist you in setting up the necessary features in the CXone platform?
- Is your mobile app available for iOS (Apple), Android, or both? Are your developers familiar with the Swift and Kotlin languages?
- Do you have existing chat messaging channels, or do you want to create a new one?
- Will you use OAuth to authenticate your app users? If yes, which OAuth provider will you use?
- Do you want to offer single- or multi-threaded conversations?
- Will you use proactive actions like pop-ups or welcome messages?
- Do you want to use push notifications? Do you have existing Firebase or Apple Developer accounts?
- Which types of rich messages do you want to set up? What are some use cases where you can leverage these interactive messages?
- Do you want to track user data? How can you use the visitor events to produce analytics?
Key Terms
-
Thread: A conversation within the chat app. The first message sent by either the agent or contact The person interacting with an agent, IVR, or bot in your contact center. begins a thread. Each consecutive message in the conversation is added to the thread. Threads are objects that contain each message. Messages are structured by the author of the message. A threadId identifies an entire conversation, and all messages within a conversation have a message ID. A thread ends when the conversation ends.
-
Single-Thread: An app design where the contact can only have one conversation at a time.
-
Multi-Thread: An app design where the contact can have multiple conversations at a time.
-
Channel: In the context of Digital Experience, channel refers to the type of messaging or the platform used for communication. For example, you could have a WhatsApp real-time messaging channel. The mobile SDK lets you add a chat messaging channel to your mobile app. A channel is created in the CXoneplatform. This determines the settings of the channel along with a channel ID. You use this ID to initiate the chat channel when an app user opens the chat.
-
ChannelId: The ID of the digital chat channel created in the Digital section of CXone. You can find this in the chat channel's settings in CXone (ACD > Digital > Points of Contact Digital > Chat > Initialization & Test).
-
BrandId: This is like a tenant High-level organizational grouping used to manage technical support, billing, and global settings for your CXone environment ID for Digital Experience. It's used to initialize the chat. You can find this in the chat channel's settings in CXone (ACD > Digital > Points of Contact Digital > Chat > Initialization & Test).
-
CustomerId: The unique ID of the chat end user. The SDK creates this ID when the chat is initialized. If you have OAuth set up, this ID stays the same for each contact across all their devices. If you do not have OAuth set up, this ID is different for each device; the ID becomes like a guest login.
-
Region or Environment: The location in the world where your CXone deployment is hosted. This can be: Australia (AU1), Canada (CA1), Europe (EU1), Japan (JP1), North America (NA1), or United Kingdom (UK1). The developer must use the same region where your CXone system is hosted, otherwise the chat connection is rejected.
-
Contact, Customer, and User: These terms all refer to the end-user of the mobile app. The online help typically uses the term contact. In the SDK documentation and code comments, you are likely to see customer and user.
-
CXone: The core platform where you manage and access all the customer experience tools that NICE CXone offers. Depending on which chat features you want to offer in your mobile app, an administrator with the necessary user account permissions must complete several setup tasks in CXone.
-
Digital Experience: The section of CXone where you can manage everything about digital channels.