hms_callkit
一个使用100ms和flutter_callkit_incoming制作的通话示例项目。
入门
- 克隆仓库
- 运行 flutter pub get
- 设置 100ms token 服务
- 为通知设置 Firebase 服务
就这样,现在可以通过执行 flutter run 来运行项目了
如何测试
要测试应用程序,请在两台设备上安装该应用。
- 从一台设备复制代码(FCM token)。我们称之为设备-1
- 将此 token 粘贴到另一台设备上。我们称之为设备-2
- 在设备-1 上按下“立即呼叫”按钮
- 您将在设备-2 上收到通知
- 在设备-2 上接听电话
设置 100ms token 服务
100ms token 服务负责在您接到电话或希望呼叫某人时加入房间。我们需要一个认证 token 来加入房间,我们也将通过 payload 将其发送给另一个对等方,以便接收方也可以加入房间。您可以在 join_service.dart 中找到这部分代码。
这是它的代码
Future<String> getAuthToken({required String roomId,required String tokenEndpoint,required String userId,required String role}) async {
Uri endPoint = Uri.parse(
tokenEndpoint);
http.Response response = await http.post(endPoint,
body: {'user_id': userId, 'room_id': roomId, 'role': role});
var body = json.decode(response.body);
return body['token'];
}
getAuthToken 返回认证 token,我们将用它来加入房间,并与接收方共享,以便他也能加入房间。
让我们了解一下这个函数中的参数
- roomId
roomId 指的是您希望加入的房间。您可以在仪表板的房间部分找到 roomId。
- tokenEndpoint
tokenEndpoint 是用于获取认证 token 的 URL。您可以在 100ms 仪表板的开发者部分找到 tokenEndpoint。
- userId
userId 可用于唯一标识用户,以便之后对该用户执行任何特定操作。
- role
role 指的是您希望加入房间的角色。请确保给定的角色在给定 roomId 的房间模板中存在。
为通知设置 Firebase 服务
首先在 firebase 上创建一个项目。您可以在 这里 找到步骤
由于我们将使用 Firebase Messaging 来发送通知,请确保您的 Firebase 已启用 Blaze 计划,并从 Firebase Cloud Console 启用 Cloud Messaging 和 Firebase Cloud Messaging API。
要设置 Firebase 通知,请遵循 此 指南
该存储库已经包含一个 functions 文件夹,其中包含 Firebase 函数,因此您可以直接部署它们。
好了,您已准备好运行该应用程序。
应用程序的外观是这样的
有任何问题吗?请在 Discord 上联系我们
