在 ios 中聊天的 Pubnub
Pubnub for chat in ios
有一个项目具有聊天功能,是使用 PubNub 完成的。我已经阅读了 PubNub 提供的教程,并在我的项目中集成了 pubnub.framework 和 CocoaLumberjack。并添加了编码为 shown in this tutorial
我的问题是:
我是否必须创建不同的频道才能与不同的朋友聊天?或者 PubNub 中的频道将如何运作?我只想进行一对一聊天。我不想实施任何群聊。根据我对 using PubNub for multi users chatting 的研究,每个用户都有自己的频道。但是在那种情况下,我如何在离线时加载未读消息计数或消息。
在我的后端服务器上安装 PubNub 服务器的过程是怎样的?我将后端用作 PHP Laravel.
您可以自由创建无限数量的频道,因此对于一对一聊天,每个用户都订阅了自己的私人频道。为了和你聊天,我发布消息到你的私人频道。 here is a write-up that outlines this in more detail. for short periods of being offline (less than 10 mins), you can rely on the catch-up mechanism(确保你配置了这个)。要在离线时检索实际消息,可以使用存储和回放的 history() 函数。检索 仅 未读消息的计数需要您的逻辑......也许在后端数据库中记录为每个频道发布的消息数量,然后客户端可以进行 REST 调用到您的后端以检索此计数。
PubNub 有一个 PHP SDK,您可以使用...您打算让后端服务器做什么?
@Alex 是对的,这里更清楚地说明了这一点:
每个用户都应该有一个他们订阅的 inbound 频道,任何想邀请他们加入私人聊天的人都会发布 invite带有新 1-1 聊天频道名称的消息,在该消息中。如果受邀用户接受,该用户将订阅新的 1-1 频道,否则可以在邀请用户的入站频道上返回 拒绝 消息。
对于用户需要知道离线时错过的消息数量(或只是没有积极订阅频道)的任何频道,您需要 call history
on those channels 使用该频道上最后收到的消息的时间标记渠道。这将检索消息,您只需获取返回消息数组的大小即可显示 未读消息数。
没有要安装的 PubNub 服务器。您的 PHP 服务器 app/script 使用 PubNub 网络的方式与您的 iOS 客户端应用程序使用它的方式大致相同。您只需要下载 PHP SDK 并要求:
- PubNub PHP Composer
- PubNub PHP (non-Composer)
- PubNub PHP Larvel(注意:第三方 - PubNub 无法为此提供支持,但它可能会提供一些关于将 PubNub 与 Laravel 一起使用的见解)
您可以将服务器和客户端应用程序都视为 PubNub 网络的客户端。不过,您的 PHP 应用可能会在频道上发布消息但不会订阅频道。如果您认为需要从 PHP 应用订阅频道,请联系 PubNub Support 并提供有关您的用例的详细信息。
有一个项目具有聊天功能,是使用 PubNub 完成的。我已经阅读了 PubNub 提供的教程,并在我的项目中集成了 pubnub.framework 和 CocoaLumberjack。并添加了编码为 shown in this tutorial
我的问题是:
我是否必须创建不同的频道才能与不同的朋友聊天?或者 PubNub 中的频道将如何运作?我只想进行一对一聊天。我不想实施任何群聊。根据我对 using PubNub for multi users chatting 的研究,每个用户都有自己的频道。但是在那种情况下,我如何在离线时加载未读消息计数或消息。
在我的后端服务器上安装 PubNub 服务器的过程是怎样的?我将后端用作 PHP Laravel.
您可以自由创建无限数量的频道,因此对于一对一聊天,每个用户都订阅了自己的私人频道。为了和你聊天,我发布消息到你的私人频道。 here is a write-up that outlines this in more detail. for short periods of being offline (less than 10 mins), you can rely on the catch-up mechanism(确保你配置了这个)。要在离线时检索实际消息,可以使用存储和回放的 history() 函数。检索 仅 未读消息的计数需要您的逻辑......也许在后端数据库中记录为每个频道发布的消息数量,然后客户端可以进行 REST 调用到您的后端以检索此计数。
PubNub 有一个 PHP SDK,您可以使用...您打算让后端服务器做什么?
@Alex 是对的,这里更清楚地说明了这一点:
每个用户都应该有一个他们订阅的 inbound 频道,任何想邀请他们加入私人聊天的人都会发布 invite带有新 1-1 聊天频道名称的消息,在该消息中。如果受邀用户接受,该用户将订阅新的 1-1 频道,否则可以在邀请用户的入站频道上返回 拒绝 消息。
对于用户需要知道离线时错过的消息数量(或只是没有积极订阅频道)的任何频道,您需要 call history
on those channels 使用该频道上最后收到的消息的时间标记渠道。这将检索消息,您只需获取返回消息数组的大小即可显示 未读消息数。
没有要安装的 PubNub 服务器。您的 PHP 服务器 app/script 使用 PubNub 网络的方式与您的 iOS 客户端应用程序使用它的方式大致相同。您只需要下载 PHP SDK 并要求:
- PubNub PHP Composer
- PubNub PHP (non-Composer)
- PubNub PHP Larvel(注意:第三方 - PubNub 无法为此提供支持,但它可能会提供一些关于将 PubNub 与 Laravel 一起使用的见解)
您可以将服务器和客户端应用程序都视为 PubNub 网络的客户端。不过,您的 PHP 应用可能会在频道上发布消息但不会订阅频道。如果您认为需要从 PHP 应用订阅频道,请联系 PubNub Support 并提供有关您的用例的详细信息。