Skip to content

Latest commit

 

History

650 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Twilio Voice React Native SDK

NPM CircleCI

Twilio's Voice React Native SDK allows you to add real-time voice and PSTN calling to your React Native apps.

Please check out the following if you are new to Twilio's Programmable Voice or React Native.

Installation

The package is available through npm.

yarn add @twilio/voice-react-native-sdk

If you are using Expo, install with npx expo install instead, so the version is resolved against your Expo SDK.

npx expo install @twilio/voice-react-native-sdk

Once the package has been installed to your React Native application, there are further steps that you will need to take for both iOS and Android platforms. Please see the supporting documentation below.

Prerequisites

These apply to every application, Expo and framework-less (bare) alike.

  • A Twilio Push Credential for each platform you support. Incoming calls do not arrive without one. The iOS and Android voice quickstarts cover the Apple VoIP certificate and the Firebase project these are built from.
  • A server that vends access tokens.
  • If you support iOS, a physical device to place or receive calls. CallKit and PushKit are unavailable in the iOS simulator, though the SDK itself loads and runs there.

Choosing your setup

One package supports both application types. Which setup steps you follow depends on how your app is built. The prerequisites above apply either way.

Your app What to do
Expo Add the config plugin. See Expo setup. The plugin applies the native wiring during expo prebuild
Framework-less (bare) React Native Wire the native files once by hand. See the Getting Started guides below

Expo apps require a development build; Expo Go is not supported, because this library contains native code that Expo Go does not include.

Compatibility

SDK version Bare React Native Expo New Architecture
1.8.0 and later supported supported, via the config plugin supported
2.0.0-preview.x not supported, required forking the SDK supported supported
1.7.0 and earlier supported not supported 1.6.0 and later

If you are on 2.0.0-preview.x, see the migration notes.

Verified for 1.8.0:

Configuration Versions exercised
Expo SDK 52, 53, 54, 55, 56, 57
React Native, through those Expo versions 0.76.9, 0.79.6, 0.81.5, 0.83.10, 0.85.3, 0.86.3
React Native, bare 0.83.6
Android API level 24, 31, 34, 36, 37
iOS 26.6.1

minSdkVersion remains 24. Versions outside this list are expected to work but are untested.

Documentation

Getting Started

These guides cover framework-less (bare) React Native end to end.

Using Expo? The Prerequisites above apply to you too. The config plugin handles the rest during expo prebuild, so skip the Xcode capabilities, the Google Services Gradle changes and the MainActivity/MainApplication wiring. See Expo setup.

iOS

Learn how to get started for the iOS platform.

Android

Learn how to get started for the Android platform if you are using Java or Kotlin.

Customizing Notifications

To customize the appearance and content of your application's notifications, please see this document.

Outgoing Call Ringback Tone

To enable your application to play a ringback tone while making an outgoing call, please see this document.

Out-of-band PushKit Handling

To have your application implement or use its own PushKit delegate module, please see this document.

Out-of-band Firebase Messaging Service

To have your application implement or use a different FirebaseMessagingService (such as OneSignal or RNFirebase), please see this document.

Issues and Support

Please check out our common issues page or file any issues you find here on Github. For general inquiries related to the Voice SDK you can file a support ticket.

Please ensure that you are not sharing any Personally Identifiable Information(PII) or sensitive account information (API keys, credentials, etc.) when reporting an issue.

Please check out our known issues for known bugs and workarounds.

Related

License

See LICENSE

About

No description, website, or topics provided.

Resources

Code of conduct

Contributing

Stars

102 stars

Watchers

9 watching

Forks

Releases

Packages

Used by

Contributors

Languages