Ios 具有Firebase版本3的APN
我已设置Firebase向我的应用程序用户发送推送通知。然而,我不确定什么是用户对用户通信的最佳实践,比如聊天客户端。我应该在每次启动应用程序时获取设备令牌并将其用于发送,还是应该为双方都需要订阅的每个“聊天室”创建一个新主题?例如,在接受聊天请求时 如果第一个选项是最好的,那么它是如何工作的?如果在应用程序启动时为设备分配了新令牌,我如何确保给定的ID指向特定设备?整个概念似乎很脆弱,但有人能指导我找到最有效的解决方案吗Ios 具有Firebase版本3的APN,ios,firebase,firebase-cloud-messaging,Ios,Firebase,Firebase Cloud Messaging,我已设置Firebase向我的应用程序用户发送推送通知。然而,我不确定什么是用户对用户通信的最佳实践,比如聊天客户端。我应该在每次启动应用程序时获取设备令牌并将其用于发送,还是应该为双方都需要订阅的每个“聊天室”创建一个新主题?例如,在接受聊天请求时 如果第一个选项是最好的,那么它是如何工作的?如果在应用程序启动时为设备分配了新令牌,我如何确保给定的ID指向特定设备?整个概念似乎很脆弱,但有人能指导我找到最有效的解决方案吗 我只希望通过推送发送聊天信息/聊天邀请,具体取决于聊天室的大小和隐私,您
我只希望通过推送发送聊天信息/聊天邀请,具体取决于聊天室的大小和隐私,您可以选择使用:
- 主题专为大型群体设计,加入/离开时不受保护
- 需要存储在服务器实现中的设备令牌。
从好的方面来说,它们允许您控制接收消息的用户 消息,并将消息发送到单个设备
FirebaseInstanceIdService.onTokenRefresh()
回调
在通用聊天应用程序中,您可能希望:
更新以解决其中一条评论:
注册\u id
根据聊天室的大小和隐私,您可以选择使用:
- 主题专为大型群体设计,加入/离开时不受保护
- 需要存储在服务器实现中的设备令牌。
从好的方面来说,它们允许您控制接收消息的用户 消息,并将消息发送到单个设备
FirebaseInstanceIdService.onTokenRefresh()
回调
在通用聊天应用程序中,您可能希望:
更新以解决其中一条评论:
注册\u id
我明白了,这消除了一些混淆,即设备令牌不会更改,而是在启动期间生成一次。目前我有一个节点
users/
,我可以将令牌存储在那里。例如,像users//device\u token
听起来不错。请记住,一个userid可以有多个设备(以及多个令牌)。PS:如果这涵盖了您的问题,请接受答案,将问题标记为已回答。我可以使用iOS SDK向多个令牌发送单个通知吗?如果是这样,我应该将令牌存储为字典?如果令牌发生更改,并且您未能相应地更新数据库,则向该令牌发送私有通知是否有危险?或者是唯一的、不可重用的密钥?这个令牌是即时生成的吗?或者它是否依赖于网络连接或类似连接?因为我不完全确定如何处理数据库更新逻辑,如果令牌可以在初始用户注册之前和之后生成。使用令牌作为有关允许字符的密钥是否安全?请更深入地解释数字2。确定:要以编程方式发送消息,需要使用服务器端API。此API要求服务器使用API-KEY进行身份验证,该API-KEY可被视为发送消息所需的“密码”。您应该仅在云服务器中使用此api和此api密钥/密码。如果您试图从客户端使用服务器端api,则需要在应用程序中以clear(清除)的形式写入密码,每个人都可以使用应用程序反编译器找到密码。我明白了,这消除了一些混淆,即设备令牌不会更改,而是在启动期间生成一次。目前我有一个节点users/
,我可以将令牌存储在那里。例如像users//device\u-tok