gpt4 book ai didi

ios - 带有 Firebase 版本 3 的 APNS

转载 作者:行者123 更新时间:2023-11-28 21:27:25 24 4
gpt4 key购买 nike

我已将 Firebase 设置为向我的应用程序用户发送推送通知。但是,我不确定关于用户到用户通信(例如聊天客户端)的最佳做法是什么。我应该在每次启动应用程序时获取设备 token 并将其用于发送,还是应该为双方都需要订阅的每个“聊天室”创建一个新主题?例如在接受聊天请求时。

如果第一个选项是最好的,它是如何工作的?如果在应用程序启动时为设备分配了一个新 token ,我如何确定给定的 ID 指向特定设备?整个概念似乎很脆弱 - 但有人可以指导我找到最有效的解决方案吗?

我只想通过推送发送聊天消息/聊天邀请

最佳答案

根据聊天室的大小和隐私,您可以选择使用:

  • 主题为大型团体制作,加入/离开时没有保护措施
  • 您需要在服务器实现中存储的设备 token
    从好的方面来说,它们允许您控制接收信息的人员消息,并将消息发送到个人设备。

设备 token 不会在每次启动时更改。在应用首次启动时创建,特殊情况下可以更新。当 token 更改(同样,这种情况很少见)时,将调用 FirebaseInstanceIdService.onTokenRefresh() 回调。

在通用聊天应用程序中,您可能希望:

  1. 首先使用您的登录系统对用户进行身份验证
  2. 上传到你的服务器映射 user-id > device-token
  3. 通过 FCM 服务器端 API 向用户发送消息。

更新以解决评论之一:

  1. 服务器端 API 允许在同一 HTTP 请求中将同一消息发送到多个 token 。请参阅 https://firebase.google.com/docs/cloud-messaging/http-server-ref#downstream-http-messages-json 中的 registration_ids
  2. 您不应该在客户端使用服务器端 API,因为那样会要求您在应用程序中添加 API-KEY,这是一个安全问题(人们可以反编译应用程序并读取 key )
  3. 存储结构由您决定。对于 user-id > multiple-device-tokens,字典可以工作。
  4. 如果 token 不可重复使用。因此向过期 token 发送消息是安全的。
  5. token 生成需要互联网连接,因此可能需要一些时间。
  6. 要在用户注册后处理 token ,请参阅以下问题: How to launch FCM ID Service only after a particular activity is triggered?

关于ios - 带有 Firebase 版本 3 的 APNS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37551658/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com