NativeScript Call
您的优秀的 NativeScript 插件。
npm i --save nativescript-call

NativeScript Call 插件

Build Status NPM version Downloads Twitter Follow

哥们,我手机里已经有了电话应用...

当然 😅

但如果你想让应用支持 VOIP / WebRTC 通话呢?你可能希望操作系统弹出原生通话对话框,对吧?这就是这个插件的作用所在。

目前仅支持 iOS,我们利用了自 iOS 10 以来 iOS SDK 的一部分 CallKit

安装

tns plugin add nativescript-call

演示

检查 演示 文件夹中的源代码,或在您的设备上运行它

git clone https://github.com/EddyVerbruggen/nativescript-call
cd nativescript-call/src
npm i
npm run demo.ios

在 NativeScript-Angular 和 NativeScript-Vue 中的使用与在 NativeScript-Core 中的使用没有区别。

API

receiveCall

你可以传递给此方法的方法属性是

属性 类型 描述
appName 字符串 应用程序的名称,如呼叫屏幕上所示。默认为您的应用程序名称。
icon 字符串 要显示的图标名称。从 App_Resources 文件夹加载(见演示)。
handleType TNSCallHandleType 可以是 "PHONE"(默认)或 "EMAIL"
handleId 字符串 handleType"PHONE" 时为电话号码,当 handleType"EMAIL" 时为电子邮件地址。
callerName 字符串 要在通话 UI 上显示的名称。
hasVideo 布尔值 此通话是否支持视频。默认为 false
supportsDTMF 布尔值 通话是否可以发送 DTMF(双音多频)音调,通过硬暂停数字或在通话键盘输入中。默认为 false

你可以传递给此方法的处理程序是

| 名称 | 描述 | | --- | --- | --- | | onSpeakerOn | 当扬声器开启时触发。 | | onSpeakerOff | 当扬声器关闭时触发。 |

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));