指南
如何在Capacitor中使用Twilio Voice
使用 @capgo/capacitor-twilio-voice
将 Twilio Voice SDK 集成到 Capacitor 中
安装
bun add @capgo/capacitor-twilio-voice
bunx cap sync
bunx cap sync 将插件的本机 code 复制到您的本机项目中。每次升级插件后都重新运行它。
导入
import { CapacitorTwilioVoice } from '@capgo/capacitor-twilio-voice';
API 简介
| 方法 | 描述 |
|---|---|
login |
使用 Twilio Voice 认证用户并使用访问令牌 |
logout |
注销当前用户并从 Twilio Voice 注销 |
isLoggedIn |
检查用户是否已登录并具有有效的访问令牌 |
makeCall |
发起一个电话号码或客户端的呼叫。 |
acceptCall |
接听一个正在呼叫的电话。 |
rejectCall |
拒绝一个正在呼叫的电话。 |
endCall |
结束一个正在进行的呼叫。 |
muteCall |
在一个正在进行的呼叫中静音或解静音麦克风。 |
setSpeaker |
在一个正在进行的呼叫中启用或禁用扬声器模式。 |
getCallStatus |
获取一个正在进行的呼叫的当前状态。 |
checkMicrophonePermission |
检查麦克风权限是否已被授予。 |
requestMicrophonePermission |
请求用户授予麦克风权限。 |
示例
login()
使用访问令牌通过Twilio Voice验证用户。
import { CapacitorTwilioVoice } from '@capgo/capacitor-twilio-voice';
const result = await CapacitorTwilioVoice.login({
accessToken: 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...'
});
console.log('Login successful:', result.success);
logout()
注销当前用户并从Twilio Voice注销。
import { CapacitorTwilioVoice } from '@capgo/capacitor-twilio-voice';
const result = await CapacitorTwilioVoice.logout();
console.log('Logout successful:', result.success);
isLoggedIn()
检查用户是否已登录并具有有效的访问令牌。
import { CapacitorTwilioVoice } from '@capgo/capacitor-twilio-voice';
const status = await CapacitorTwilioVoice.isLoggedIn();
if (status.isLoggedIn && status.hasValidToken) {
console.log('User identity:', status.identity);
} else {
// Re-authenticate the user
}
makeCall()
发起一个电话号码或客户端的呼叫。
import { CapacitorTwilioVoice } from '@capgo/capacitor-twilio-voice';
// Call a phone number
const result = await CapacitorTwilioVoice.makeCall({
to: '+1234567890'
});
console.log('Call SID:', result.callSid);
// Call another Twilio client with a readable name for CallKit Recents
await CapacitorTwilioVoice.makeCall({
to: 'client:alice',
displayName: 'Alice Smith'
});
// Call a PSTN number using a specific caller ID
await CapacitorTwilioVoice.makeCall({
to: '+1234567890',
callerId: '+10987654321'
});
acceptCall()
接听一个来电。
import { CapacitorTwilioVoice } from '@capgo/capacitor-twilio-voice';
CapacitorTwilioVoice.addListener('callInviteReceived', async (data) => {
console.log('Incoming call from:', data.from);
const result = await CapacitorTwilioVoice.acceptCall({
callSid: data.callSid
});
console.log('Call accepted:', result.success);
});
rejectCall()
拒绝一个来电。
import { CapacitorTwilioVoice } from '@capgo/capacitor-twilio-voice';
CapacitorTwilioVoice.addListener('callInviteReceived', async (data) => {
if (shouldRejectCall(data.from)) {
await CapacitorTwilioVoice.rejectCall({
callSid: data.callSid
});
}
});
上表列出了 12 个核心方法。 监听器和版本辅助函数,以及每个方法的完整契约,均在 __CAPGO_KEEP_0__ 仓库中进行了文档。 GitHub 仓库.
返回一个句柄。 当屏幕卸载时,或者
addListener 清除所有监听器。 handle.remove() 全局参考 CapacitorTwilioVoice.removeAllListeners() events
handle
继续使用@capgo/capacitor-twilio-voice
如果您正在使用 使用@capgo/capacitor-twilio-voice 来规划原生插件工作,连接它与 @capgo/capacitor-twilio-voice 查看@capgo/capacitor-twilio-voice中的实现细节 开始 查看开始中的实现细节 Capgo插件目录 查看Capgo插件目录中的产品工作流程 Capacitor Capgo 为 Capacitor Capgo 的实现细节 添加或更新插件 添加或更新插件的实现细节