Flutter - 如何创建来电通知?

Ion*_*ile 16 push-notification flutter

我正在构建一个允许用户使用 agora_rtc_engine 互相呼叫的应用程序。我目前正在尝试实施一个通知系统,该系统会在用户接到电话时提醒他们。

我正在使用 Firebase Messaging 进行通知。

我有以下问题:

  1. 我将如何将默认通知卡替换为具有接听或拒绝呼叫按钮的自定义通知卡?

  2. 如何指定通知在屏幕上停留的时间?来电会在关闭前响铃约 30 秒,因此我希望我的通知卡在这段时间内出现在屏幕上。

我一直在查看 flutter_local_notifications,但它们没有“来电”通知样式。

任何信息都受到高度赞赏。谢谢!

Ole*_*ezr 1

我建议您尝试使用 Firebase Cloud Messaging。

查看官方文档的“设置消息的生命周期”部分: https://firebase.google.com/docs/cloud-messaging/concept-options#ttl

在那里,您将找到带有 time_to_live 参数的云消息示例 - 它确定通知在收件人设备上的活动时间。

以下是包含 TTL 的请求示例(摘自官方文档):

{
  "message":{
    "token":"bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1...",
    "data":{
      "Nick" : "Mario",
      "body" : "great match!",
      "Room" : "PortugalVSDenmark"
    },
    "apns":{
      "headers":{
        "apns-expiration":"1604750400"
      }
    },
    "android":{
      "ttl":"4500s"
    },
    "webpush":{
      "headers":{
        "TTL":"4500"
      }
    }
  }
}
Run Code Online (Sandbox Code Playgroud)