Cordova Plugin for Twilio Programmable Voice SDK
This project does not get as much of my attention as it deserves, as I'm not a user of the plugin. I would be happy to put a link here to an active fork or fork(s) of this project, or to retire it if need be.
Here is what is on the road map as of the current date for this project:
- Bump supported Twilio iOS Voice SDK to 6.4.2
- Bump supported Twilio Android Voice SDK to 6.1.2
- Bump supported Cordova version to 11.0
- Refactor iOS and Android plugin code - both were based on Twilio sample code, which probably isn't the best base for this project
- Add test coverage for JS, Obj-C, and Java - this will be an interesting project, as the code in this plugin largely acts as an integration layer
- 6.0.3 - October 31, 2021 - Support all parameters being passed to the Android plugin, not just "To"
- 6.0.2 - October 2, 2021 - Added error code to error message for debugging in Android
- 6.0.1 - October 1, 2021 - Updated to support Twilio Voice SDK 5.8.0 for Android
- 6.0.0 - April 18, 2021 - Updated to support Twilio Voice SDK 6.2.2 for iOS
As a very first step to using this plugin, you need to make sure that you can actually use the Twilio Voice SDK for Android or iOS with your project. You also need to have a working Cordova or Capacitor app to add this plugin.
Note - as of August 21, 2018, this NPM package name will match the Cordova Plugin id.
Note - as of January 15, 2021, this requires AndroidX support, as well as Cordova Android 9 or above. You also need to set up Firebase Cloud Messaging (FCM), and include a google-services.json
file in your platforms/android/app
directory
In your Cordova project's config.xml
, add these options:
<preference name="AndroidXEnabled" value="true" />
<preference name="GradlePluginGoogleServicesEnabled" value="true"/>
If you don't add that, you will see this error:
This project uses AndroidX dependencies, but the 'android.useAndroidX' property is not enabled. Set this property to true in the gradle.properties file and retry.
If you use any Android plugins that do not support AndroidX, please add this plugin to your project:
https://github.com/dpa99c/cordova-plugin-androidx-adapter
Looking for a simple Cordova/PhoneGap starter application to show how this is used? https://github.com/jefflinwood/twilio-voice-phonegap-example
This plugin is a wrapper for the Twilio Voice SDK for iOS and Android: https://www.twilio.com/docs/api/voice-sdk
Android SDK example: https://github.com/twilio/voice-quickstart-android/
If you are using the Twilio Client SDK for iOS and Android, see the earlier Twilio Client Plugin (now deprecated and obsolete) https://github.com/jefflinwood/twilio_client_phonegap
cordova plugin add cordova-plugin-twiliovoicesdk
The NPM Page for this plugin: https://www.npmjs.com/package/cordova-plugin-twiliovoicesdk
There are three preferences you will need to configure:
Preference | Example | Description |
---|---|---|
INCOMING_CALL_APP_NAME | PhoneApp | Users will get a notification that they have an inbound call (either a standard Push notification, or a CallKit screen) - this name is shown to the users. |
ENABLE_CALL_KIT | true | This plugin has optional CallKit support for iOS 10 and above. ENABLE_CALL_KIT should be "true" or "false" |
MASK_INCOMING_PHONE_NUMBER | false | This plugin has optional ability to mask the incoming phone number. MASK_INCOMING_PHONE_NUMBER should be "true" or "false" |
DEBUG_TWILIO | false | Optionally enable twilio library debugging. DEBUG_TWILIO should be "true" or "false" |