Интеграция Vonage (Nexmo) SDK для связи в мобильном приложении

TRUETECH занимается разработкой, поддержкой и обслуживанием мобильных приложений iOS, Android, PWA. Имеем большой опыт и экспертизу для публикации мобильных приложений в популярные маркеты Google Play, App Store, Amazon, AppGallery и другие.

Разработка и поддержка любых видов мобильных приложений:

Информационные и развлекательные мобильные приложения
Новостные приложения, игры, справочники, онлайн-каталоги, погодные, фитнес и здоровье, туристические, образовательные, социальные сети и мессенджеры, квиз, блоги и подкасты, форумы, агрегаторы
Мобильные приложения электронной коммерции
Интернет-магазины, B2B-приложения, маркетплейсы, онлайн-обменники, кэшбэк-сервисы, биржи, дропшиппинг-платформы, программы лояльности, доставка еды и товаров, платежные системы
Мобильные приложения для управления бизнес-процессами
CRM-системы, ERP-системы, управление проектами, инструменты для команды продаж, учет финансов, управление производством, логистика и доставка, управление персоналом, системы мониторинга данных
Мобильные приложения электронных услуг
Доски объявлений, онлайн-школы, онлайн-кинотеатры, платформы предоставления электронных услуг, платформы кешбека, видеохостинги, тематические порталы, платформы онлайн-бронирования и записи, платформы онлайн-торговли

Это лишь некоторые из типы мобильных приложений, с которыми мы работаем, и каждый из них может иметь свои специфические особенности и функциональность, а также быть адаптированным под конкретные потребности и цели клиента.

Услуги, которые мы предлагаем
Показано 1 из 1Все 1735 услуг
Интеграция Vonage (Nexmo) SDK для связи в мобильном приложении
Сложный
~3-5 дней
Часто задаваемые вопросы

Наши компетенции:

Этапы разработки

Последние работы

  • image_mobile-applications_feedme_467_0.webp
    Разработка мобильного приложения для компании FEEDME
    792
  • image_mobile-applications_xoomer_471_0.webp
    Разработка мобильного приложения для компании XOOMER
    671
  • image_mobile-applications_rhl_428_0.webp
    Разработка мобильного приложения для компании RHL
    1097
  • image_mobile-applications_zippy_411_0.webp
    Разработка мобильного приложения для компании ZIPPY
    969
  • image_mobile-applications_affhome_429_0.webp
    Разработка мобильного приложения для компании Affhome
    914
  • image_mobile-applications_flavors_409_0.webp
    Разработка мобильного приложения для компании FLAVORS
    495

Интеграция Vonage (Nexmo) SDK для связи в мобильном приложении

Vonage (ранее Nexmo, после поглощения Ericsson переименован в Vonage, сейчас часть Ericsson) предоставляет несколько независимых SDK для мобильных приложений: Vonage Client SDK для In-App Voice и Messaging, Vonage Video API (ex-TokBox OpenTok) для видео, и отдельные REST API для SMS/WhatsApp. Важно не путать эти продукты — они имеют разный биллинг, разные SDK и разную документацию.

Vonage Client SDK: голосовые звонки

Vonage Client SDK для голоса построен поверх WebRTC, но предоставляет высокоуровневый API с JWT-аутентификацией и интеграцией с Vonage Voice API.

JWT генерация на бэкенде:

import jwt, time

payload = {
    "application_id": VONAGE_APP_ID,
    "iat": int(time.time()),
    "exp": int(time.time()) + 3600,
    "sub": user_id,
    "acl": {
        "paths": {
            "/*/users/**": {},
            "/*/conversations/**": {},
            "/*/legs/**": {}
        }
    }
}

token = jwt.encode(payload, private_key, algorithm="RS256")

Vonage использует RSA-подпись JWT, а не HMAC. Приватный ключ генерируется при создании Vonage Application в Dashboard — это .key файл, который нужно хранить на сервере, не в мобильном приложении.

Android SDK:

// build.gradle
implementation 'com.vonage:client-sdk-android:8.x.x'

// Инициализация
val client = VonageClient.Builder(context)
    .build()

client.setConnectionListener { connectionStatus, connectionStatusReason ->
    // CONNECTED, DISCONNECTED, etc.
}

// Логин с JWT
client.login(jwt) { loginResult ->
    when (loginResult) {
        is LoginResult.Success -> { /* готов к звонкам */ }
        is LoginResult.Failure -> { /* обработать ошибку */ }
    }
}

Исходящий звонок через PSTN (на телефонный номер) или In-App (другому пользователю):

// звонок другому пользователю приложения
client.call(callee_user_name, CallType.InApp, callListener)

iOS SDK — аналогичная структура, VGClient:

VGClient.setLogger(VGClientLogger(level: .info))
let config = VGClientConfig(region: .US)
VGClient.shared.configure(config)
VGClient.shared.login(withJWT: jwt) { error in }

Входящие звонки через push — VoIP PushKit для iOS, FCM для Android. Vonage Dashboard настраивает Delivery Channel с сертификатами APNs / FCM ключом.

Vonage Video API (OpenTok)

Если задача — видеозвонки или видеоконференции, Vonage Video API (OpenTok) — отдельный продукт с более богатой функциональностью: экранный шаринг, запись, broadcast, сигнализация через встроенные каналы.

// Android OpenTok SDK
implementation 'com.vonage:client-sdk-video:x.x.x'

val session = Session.Builder(context, API_KEY, sessionId).build()
session.setSessionListener(sessionListener)
session.connect(token)

val publisher = Publisher.Builder(context).build()
session.publish(publisher)

Сессия создаётся на сервере через REST API, клиент получает sessionId и token. Модель аналогична Twilio Video.

Vonage SMS и WhatsApp Business

SMS через Vonage REST API — простейший сценарий, SDK не нужен:

POST https://rest.nexmo.com/sms/json
api_key=xxx&api_secret=yyy&from=Vonage&to=79001234567&text=Hello

WhatsApp Business через Vonage Messages API — требует одобренного шаблона от Meta для первого сообщения (outbound), любой ответ пользователя открывает 24-часовое окно для свободной переписки.

Сравнение с Twilio

Критерий Vonage Twilio
Зрелость iOS/Android SDK Достаточная, обновления реже Хорошая, активная поддержка
PSTN покрытие Сильное в Европе Сильное в США, хорошее глобально
Видео API OpenTok — зрелый продукт Twilio Video — активно развивается
Документация Хуже, чем у Twilio Одна из лучших в индустрии
Стоимость голоса Сопоставима с Twilio

Основной практический недостаток Vonage Client SDK — документация. client-sdk-android версии 7.x и 8.x имеют несовместимые API, а migration guide неполный. Несколько раз приходилось разбирать changelog SDK чтобы понять, почему коллбэки перестали вызываться после обновления зависимости.

Что входит в работу

Создаём и настраиваем Vonage Application, генерируем ключевую пару RSA, реализуем бэкенд для JWT, интегрируем Client SDK или Video API на Android/iOS, настраиваем push для входящих звонков, тестируем на реальных устройствах.

Срок: 1–3 недели в зависимости от требуемого функционала (только звонки или полная коммуникационная платформа).