跳过主要内容

来电套件 Capacitor 插件

使用 iOS CallKit 和 Android 全屏通知呈现原生 incoming-call UI

安装

bun add @capgo/capacitor-incoming-call-kit bunx cap sync
npm、pnpm 或 yarn
  • npm install @capgo/capacitor-incoming-call-kit
  • pnpm add @capgo/capacitor-incoming-call-kit
  • yarn add @capgo/capacitor-incoming-call-kit

指南

如何在Capacitor中使用Incoming Call Kit

在设备上测试

下载Capgo应用,然后扫描QRcode。

来电套件插件预览二维码 code

使用 @capgo/capacitor-incoming-call-kit

Capacitor API 用于呈现原生来电界面。

安装

bun add @capgo/capacitor-incoming-call-kit
bunx cap sync

bunx cap sync 复制插件的原生 code 到您的原生项目中。每次升级插件后,请重新运行。

导入

import { IncomingCallKit } from '@capgo/capacitor-incoming-call-kit';

API 简要概述

方法 描述
showIncomingCall 显示原生 incoming call UI。
endCall 结束特定跟踪的呼叫。
endAllCalls 结束所有跟踪的呼叫。
getActiveCalls 返回当前跟踪的呼叫。
checkPermissions 返回当前的通知和全屏意图权限状态。
requestPermissions 在支持该平台的设备上请求通知权限。
requestFullScreenIntentPermission 在可用时打开 Android 14+ 全屏意图设置页面。

示例

showIncomingCall()

显示原生 incoming call UI。

import { IncomingCallKit } from '@capgo/capacitor-incoming-call-kit';

const result = await IncomingCallKit.showIncomingCall({
  callId: 'call-id-123',
  callerName: 'caller',
});
console.log(result);

endCall()

结束特定跟踪的呼叫。

import { IncomingCallKit } from '@capgo/capacitor-incoming-call-kit';

const result = await IncomingCallKit.endCall({ callId: 'call-id-123' });
console.log(result);

endAllCalls()

结束所有跟踪的呼叫。

import { IncomingCallKit } from '@capgo/capacitor-incoming-call-kit';

const result = await IncomingCallKit.endAllCalls();
console.log(result);

getActiveCalls()

返回当前跟踪的呼叫。

import { IncomingCallKit } from '@capgo/capacitor-incoming-call-kit';

const result = await IncomingCallKit.getActiveCalls();
console.log(result);

checkPermissions()

获取当前通知和全屏意图的权限状态。

import { IncomingCallKit } from '@capgo/capacitor-incoming-call-kit';

const result = await IncomingCallKit.checkPermissions();
console.log(result);

requestPermissions()

在支持该功能的平台上,请求通知权限。

import { IncomingCallKit } from '@capgo/capacitor-incoming-call-kit';

const result = await IncomingCallKit.requestPermissions();
console.log(result);

上表列出了 7 个核心方法。有关监听器和版本帮助程序以及每个方法的完整契约的文档,请参见以下仓库。 GitHub 仓库.

监听事件

addListener 返回句柄。调用 handle.remove() 当屏幕卸载时,或者 IncomingCallKit.removeAllListeners() 清除所有监听器。

完整参考

继续使用 @capgo/capacitor-incoming-call-kit

如果您正在使用 使用 @capgo/capacitor-incoming-call-kit 如果您需要规划仪表板和 API 操作,请将其连接到 @capgo/capacitor-incoming-call-kit 查看 @capgo/capacitor-incoming-call-kit 的实现细节 开始 查看开始的实现细节 API 概述 查看 API 概述的实现细节 介绍 查看介绍的实现细节 API 键 API 键的实现细节。

常见问题

Incoming Call Kit 插件 FAQ

如何在 Capacitor 应用中安装 Incoming Call Kit 插件?

运行 "bun add @capgo/capacitor-incoming-call-kit" (或 "npm install @capgo/capacitor-incoming-call-kit"), 然后运行 "bunx cap sync" 以便 iOS 和 Android 项目捕获 native code。从 "@capgo/capacitor-incoming-call-kit" 导入您的应用 code。

是否支持 @capgo/capacitor-incoming-call-kit 与 React、Vue 和 Angular?

是的。 Incoming Call Kit 是一个 Capacitor 包,因此它与任何运行在 Capacitor 内的 Web 框架兼容,包括 Ionic、React、Vue、Angular、Svelte 和普通 JavaScript。

Which Capacitor version does @capgo/capacitor-incoming-call-kit support?

Capgo 插件遵循 Capacitor 的主要版本:使用与您的 Capacitor 主要版本匹配的插件主要版本(例如插件 v8 与 Capacitor 8)。在 GitHub README 中的兼容性表格中列出了维护的版本。

是否是 @capgo/capacitor-incoming-call-kit 免费和开源?

Yes. The source code is public on GitHub at https://github.com/Cap-go/capacitor-incoming-call-kit/ and the package is free to install from npm. Bug reports and pull requests are welcome.

是否可以在不经过 App Store 审核的情况下更新使用 Incoming Call Kit 的 code?

安装或升级插件会更改 native code,因此需要新建一个商店构建。之后,JavaScript、HTML 和 CSS 的更改可以立即通过 Capgo 实时更新发布。

不必等待应用程序审查就可以将 Incoming Call Kit 的更改推送到商店

一旦插件在您的商店构建中,Capgo live updates 将在几分钟内将您的 JavaScript、HTML 和 CSS 更改推送给用户。

开始使用 Capgo