有一个项目具有使用PubNub完成的聊天功能。我已经浏览了PubNub提供的教程,并在我的项目中集成了pubnub.framework和CocoaLumberjack。并将编码添加为shown in this tutorial
我的问题是:
我是否必须创建不同的频道才能与不同的朋友聊天?或者PubNub中的频道如何运作?我想只做一对一的聊天。我不想实现任何群聊。根据我using PubNub for multi users chatting的研究,每个用户都有自己的频道。但在这种情况下,如何在我离线时加载未读消息计数或消息。
在我的后端服务器中安装PubNub服务器的过程是什么?我使用后端作为PHP Laravel。
答案 0 :(得分:2)
您可以自由创建无限数量的频道,因此对于1-1聊天,每个用户都订阅了自己的私人频道。为了与您聊天,我向您的私人频道发布了一条消息。 here是一篇文章,更详细地概述了这一点。对于短时间离线(少于10分钟),您可以依赖catch-up mechanism(确保配置此项)。要在脱机时检索实际消息,可以使用Storage&的history()函数。回放。检索仅未读消息的数量需要您的结束逻辑...可能会保留后端数据库中每个通道发布的消息数量,然后客户端可以对您的后端进行REST调用检索此计数。
PubNub有一个你可以使用的PHP SDK ......你打算让你的后端服务器做什么?
答案 1 :(得分:2)
@Alex是对的,这里有更清晰的说明:
每个用户都应拥有他们订阅的入站频道,并且任何想要邀请他们加入私人聊天的人都会发布一条名为新的邀请消息-1消息中的聊天频道。如果受邀用户接受,该用户将订阅新的1-1频道,否则可以在邀请者用户的入站频道上返回拒绝消息。
对于用户需要知道离线时丢失的消息数量(或者只是没有主动订阅频道)的任何频道,您需要call history
on those channels使用该频道上最后收到的消息的时间代码。这将检索消息,您只需获取返回消息数组的大小即可显示未读消息计数。
没有 PubNub服务器可供安装。您的PHP服务器应用程序/脚本将使用PubNub网络,就像您的iOS客户端应用程序使用它一样。只需要下载并请求的PHP SDK:
您可以将服务器和客户端应用视为PubNub网络的客户端。但是,您的PHP应用程序可能会在频道上发布消息但不会订阅频道。如果您认为需要订阅PHP应用程序中的频道,请与PubNub Support联系,并提供有关用例的详细信息。