This guide provides a detailed description of the Sinch Android SDK components and how they work together. Refer here when you need a deeper understanding of responsibilities, lifecycles, and integration points.
- SinchClient: The primary entry point to the SDK; manages configuration, authentication, and feature controllers.
- CallController: Exposes APIs to place and receive calls, and notifies about incoming call events.
- Call: Represents an active call with methods for answering, declining, and hanging up. Access point to
CallListenerwhich emits state changes (progressing, ringing, answered, established, ended). - PushConfiguration: Configures FCM or HMS for incoming call notifications when the app is backgrounded.
- Listeners:
SinchClientListener,CallControllerListener, andCallListenerprovide callbacks for state and events. - Call Quality:
CallQualityWarningEventListenerreports network and media quality indicators (e.g., jitter, packet loss, MOS hints) so you can monitor and react (surface indicators in UI, switch networks or warn users). Attach to theCallobject to receive the updates. - Authentication (JWT): Use a backend‑generated, secret‑signed JWT to authorize the client; never embed secrets in the app.
For API details, see the Reference Documentation.
First time here?
If you're new and want to quickly try the SDK, start with the Android Getting Started guide: Create an app.
Explore a complete Android reference application that demonstrates common use cases:
- App to App Calling (audio and video)
- App to PSTN Calling
- App to SIP Calling
Find the Android reference application on GitHub: rtc-reference-applications (Android)
Browse all Sinch sample and reference applications: rtc-reference-applications (root)