如何在 flutter 中通知用户要约电话?

How to notify the user about the offer call in flutter?

我的应用程序需要 VOIP 通话功能,我使用 webRTC 来实现它。在 webRTC 中,接收者如何知道来电?

我的所有用户都将在 Django 中注册并作为前端使用 flutter。如果我使用 FCM 如何指定确切的用户发送通知。如果我已经通过 firebase 的身份验证,一些文章建议使用 UID、电子邮件和类似的东西我可能知道 UID 但我使用我自己的服务器如何使这成为可能?

如果我们使用电子邮件发送通知,即 firebase 会向特定用户发送通知吗?

使用 firebase 云消息传递。如果您使用 Django 或任何后端服务器,您只需在用户从应用程序注册时获取用户的 fcm 令牌。并在您的数据库中存储带有该令牌的用户电子邮件。因此,每当您想向特定用户发送通知时,您都可以通过他们各自的 fcm 令牌触发。

使用下面的代码在 flutterfire 中获取用户的令牌。

FirebaseMessaging messaging = FirebaseMessaging.instance;

// use the returned token to send messages to users from your custom server
String token = await messaging.getToken(
  vapidKey: "BGpdLRs......",
);

要通过 Django 后端向该用户发送通知,请发出如下 post 请求。

使用服务api。

URL: https://fcm.googleapis.com/fcm/send

Method Type: POST

Headers:

Content-Type: application/json
Authorization: key=your api key

Body/Payload:

{ 
 "notification": {
    "title": "Your Title",
    "text": "Your Text",
  },
    "data": {
    "keyname": "any value" // Any data you want to send for your call initialization 
    },
  "to" : "Token you got"
}