Git Product home page Git Product logo

cordova-plugin-twilio-video's Introduction

cordova-plugin-twilio-video

Cordova Plugin for Twilio Video SDK.

⚡️ Works with Capacitor.⚡️

Important: This plugin only works on Cordova/Capacitor projects that are using Android with AndroidX. So, if you don't want to have dependency with AndroidX in your Android project for some reason, please use a plugin version earlier than 4.0.

Installation

Cordova project

  • Add this to the 'package.json'

    • In the dependencies section:
    "cordova-plugin-twilio-video": "https://github.com/okode/cordova-plugin-twilio-video"
    
    • In the cordova plugins section:
      "cordova-plugin-twilio-video": {}
    

Capacitor project

  • Add this dependency to the 'package.json':
    "cordova-plugin-twilio-video": "https://github.com/okode/cordova-plugin-twilio-video",
    

API

Usage

The plugin is available in the global scope so you can invoke its API like this:

  • Javascript
window.twiliovideo.[METHOD]
  • Typescript
(window as any).twiliovideo.[METHOD]
  • Typescript with typings
    • Declare a variable at the top of your Typescript file and import TwilioVideoPlugin
    declare const twiliovideo: TwilioVideoPlugin;
    • Invoke the plugin like this in any place of this file
    twiliovideo.[METHOD]

Methods

Have a look at definitions file where the API is documented.

Videocall events

Manage the events emitted by the plugin while the videocall is running.

EVENT LIST

  • BAD_CONNECTION_REQUEST: fired when the params supplied to 'openRoom' method are invalid. [UNRECOVERABLE STATE(*)].
  • OPENED: fired when the videocall is opened.
  • CONNECTED: fired when the videocall is stablished successfully.
  • CONNECT_FAILURE: fired when the videocall connection fails. [UNRECOVERABLE STATE(*)].
  • DISCONNECTED: fired when the videocall is disconnected without error.
  • DISCONNECTED_WITH_ERROR: fired when the videocall is disconnected due to an error. The error data is provided along with the event. [UNRECOVERABLE STATE(*)].
  • RECONNECTING: fired when the connection was lost and Twilio is trying to reconnect the videocall automatically.
  • RECONNECTED: fired when the videocall was stablished again after a videocall connection lost.
  • PARTICIPANT_CONNECTED: fired when a participant gets into the videocall.
  • PARTICIPANT_DISCONNECTED: fired when a participant leaves the videocall.
  • REMOTE_VIDEO_TRACK_ADDED: fired when a participant adds a video track to the videocall.
  • REMOTE_VIDEO_TRACK_REMOVED: fired when a participant removes a video track from the videocall.
  • HANG_UP: fired when the user presses on the hang up button and the videocall has to be closed explicetly by calling the closeRoom method.
  • CLOSED: fired when the videocall is closed
  • PERMISSIONS_REQUIRED: fired when the user doesn't grant the required permissions (audio and video) and the videocall cannot be started.

(*): Unrecoverable state means that it is needed to invoke 'openRoom' again to retry the videocall connection. This plugin doesn't manage retries. It would be recommended to show the user an error screen that contains a button to retry the videocall.

Customization at project level

Android

  • Set custom audio device names if you don't like the default ones.

    Add this lines to the strings.xml of your Android project and use the desired string values:

        <string name="twilio_audio_bluetooth_device_name">Auricular bluetooth</string>
        <string name="twilio_audio_wired_headset_device_name">Auricular con cable</string>
        <string name="twilio_audio_speakerphone_device_name">Altavoz</string>
        <string name="twilio_audio_earpiece_device_name">Auricular del teléfono</string>
    

    Note: this example translates audio device names to Spanish.

Troubleshooting guide

Q: I get compilation errors on Android

A: First, check if your project compiles without this plugin. In that case, verify the plugin version you are using on your project because since 4.0 version we just support Cordova/Capacitor projects that are using Android with AndroidX. Below 4.0 version, take into account that this plugin is not compatible with AndroidX as it uses old Android Support Libraries. In that case, to migrate the plugin code to AndroidX, you can do the following:

cordova-plugin-twilio-video's People

Contributors

rpanadero avatar savilaf avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.