REAL-TIME COMMUNICATION GUIDE

How to add voice, video, and chat to an app

A voice calling API, video calling API, or in-app chat SDK lets your product keep conversations inside its own experience. This guide explains how to choose the right starting point and safely test a real-time communication integration with RTCExpress.

Choose the smallest useful communication feature

Start with the interaction your users actually need. In-app chat works well for coordination, support messages, and community conversation. Voice calling helps when a faster human conversation matters. Video calling fits consultations, tutoring, remote collaboration, and other cases where participants need to see each other.

RTCExpress supports room-based chat, one-to-one and group voice, and video on the plans that include media. Your application controls its user identity, room membership, and interface.

Keep authorization in your backend

A real-time SDK belongs in the client application, but your App Secret does not. Your backend should authenticate the signed-in person, decide which room they may enter, and issue a short-lived RTC user token. The browser or mobile app then initializes RTCExpress with that token.

// Your secure backend requests a scoped token.
POST /v1/token
{ appId, appSecret, userId, roomId }

// Your web or mobile client uses the returned token.
await rtc.init({ serverUrl, appId, userId, token });
await rtc.joinRoom("support-room-42");

Never add an App Secret to browser JavaScript, a mobile APK, or a public repository. Read the integration quickstart and API reference before connecting production users.

What “cloud calling” means for your app

Cloud calling does not replace your product’s users or business rules. RTCExpress provides the signaling, media routing options, TURN connectivity for difficult networks, and call events. Your application remains responsible for sign-in, permissions, room access, consent, and its branded interface.

For a simple one-to-one call, test two users in the same authorized room. For group media, choose room roles and verify the experience under a realistic participant count before promising capacity to customers.

Test voice and video on real devices

Local browser testing is useful, but it is not enough for a calling feature. Use two physical devices and two different users. Test microphone and camera permission prompts, rejected calls, reconnects, a slow connection, and a change between Wi-Fi and mobile data.

For a browser project, the JavaScript voice calling tutorial includes a downloadable two-user starter. For Android, Flutter, React Native, and iOS integration discussions, use the mobile SDK guides and contact support for the available source packages.

Prepare before inviting customers

  • Serve your web app through HTTPS.
  • Use separate test and production projects.
  • Store the call ID and UTC time with support reports.
  • Show clear permission and connection error messages to users.
  • Decide how your product handles recording, retention, and consent before enabling recording workflows.

Start with a real project

Create a Free project for chat, or contact us to discuss voice and video access for your application.

Create a projectTalk to support