npm i --save nativescript-call
- Version: 0.2.0
- GitHub:
- NPM: https://www.npmjs.com/package/nativescript-call
- Downloads:
- Last Day: 0
- Last Week: 0
- Last Month: 0
NativeScript Call plugin
Dude, I already have a Phone app on my phone..
Sure 😅
But what if your app supports VOIP / WebRTC calls? You'll want to have the operating system pop up the native call dialog, right? That's where this plugin comes in.
Currently iOS only, where we leverage CallKit
, which is part of the iOS SDK since iOS 10.
Installation
tns plugin add nativescript-call
Demo
Check the source in the demo folder, or run it on your own device:
git clone https://github.com/EddyVerbruggen/nativescript-call
cd nativescript-call/src
npm i
npm run demo.ios
Usage in NativeScript-Angular and NativeScript-Vue is nothing different from what you'd do in NativeScript-Core.
API
receiveCall
The properties you can pass to this method are:
Property | Type | Description |
---|---|---|
appName | string |
The app's name, as shown on the caller screen. Default the name of your app. |
icon | string |
The name of an icon to show for your app. Loaded from the App_Resources folder (see the demo). |
handleType | TNSCallHandleType |
Either "PHONE" (default) or "EMAIL" . |
handleId | string |
Either a phone number when handleType is "PHONE" , or an email address when handleType is "EMAIL" . |
callerName | string |
The name to be displayed on the call UI. |
hasVideo | boolean |
Whether or not this call supports video. Default false . |
supportsDTMF | boolean |
Whether the call can send DTMF (dual tone multifrequency) tones via hard pause digits or in-call keypad entries. Default false . |
The event handlers you can pass to this method are:
| Name | Description | | --- | --- | --- | | onSpeakerOn | Triggered when the speaker is turned on. | | onSpeakerOff | Triggered when the speaker is turned off. |
import { TNSCall } from "nativescript-call";
const tnsCall = new TNSCall();
tnsCall.receiveCall(
{
appName: "My App",
icon: "download-from-cloud", // see demo/app/App_Resources/iOS
handleType: "PHONE",
handleId: "+31612345678",
callerName: "Donald J. Drumpf",
hasVideo: true,
supportsDTMF: true,
onSpeakerOn: () => console.log("Speaker ON"),
onSpeakerOff: () => console.log("Speaker OFF")
})
.then(() => console.log("Receive call success"))
.catch(err => console.log("Error receiving call: " + err));
endCall
import { TNSCall } from "nativescript-call";
const tnsCall = new TNSCall();
tnsCall.endCall()
.then(() => console.log("Ended call"))
.catch(err => console.log("Error ending call: " + err));