Technical Details

Vonage Client SDK allows you to build programmable conversation applications.

Using the Conversation API and the Client SDK you can build complete applications that feature two-way voice and messaging communications. The Conversation API is used to build out the backend of your application, including handling the creation of users, generating tokens, and responding to webhooks. Using those users, tokens, and webhooks the Client SDK will allow you to place calls, receive calls and send messages across multiple channels.

The Client SDK supports the following platforms and languages:

Platform Language
Web JavaScript
iOS (13.0 and above) Objective-C, Swift
Android (API level 23 and above) Java, Kotlin

NOTE: The Nexmo Client SDK is deprecated, you can still access its documentation for reference. If you are moving to the Vonage Client SDK, view the transition guide for more information.

In-App Voice

The Client SDK enables you to build in-app voice features into your application. Vonage In-App Voice uses WebRTC and includes all the essentials you need to build a feature-rich voice experience.

Some features include:

  • User Control – Users can control whether their audio stream is muted or unmuted.
  • Notifications – Users can be notified when they receive a call using push notifications.
  • Group Calls – Configure call settings so users can start a group call by adding participants in real time.

Check out the In-App Voice documentation to get started.

NOTE: By default, Vonage stores Conversations created by calls and Call Legs for 2 days. You can change this by editing the Conversations TTL or Legs Persistence Time on the API Dashboard. This can be found under "Show advanced features" for the Voice Capabilitiy settings.

In-App Messaging

The Client SDK enables you to build a feature-rich chat experience.

Some features include:

  • 1-1 and Group Conversations
  • Text, Image, and Custom Message Support – Users can quickly send and receive various message types from your application.
  • Notifications – Keep users aware of important alerts by sending notifications to their device.

Check out the In-App Messaging documentation to get started.

Concepts

Many of the concepts used in the Client SDK are a result of the design of the Conversation API, which is the underlying technology. The following Concepts will help you use the Client SDK:

  • How to set up your application
  • Application: A Vonage Application provides a container for Users and Conversations.
  • How to authenticate users
  • User: A User represents an entity such as a person that wishes to communicate.
  • Conversation: A Conversation connects Users and allows them to communicate.
  • Event flow: This topic provides an overview of a event dispatching flow through the system encompassing the Vonage Voice and Conversation services.
  • Member: A Member is created when a User joins a Conversation.
  • Call: A Call consists of one or more Legs.
  • Channel: A Channel refers to one of App, Phone, SIP or Websocket.
  • Leg: A Leg connects a User with a Conversation.
  • Media: Media refers to type of communication. It is currently one of text or voice
  • Event: Conversations are event-driven. Event objects are generated when key activities occur.
  • Session: A Session is a live communication stream created with a Client SDK.

SDK Documentation (generated from source code)