获取特定频道pubnub php sdk上的未读消息

获取特定频道pubnub php sdk上的未读消息,php,mysql,cakephp,pubnub,Php,Mysql,Cakephp,Pubnub,目标:-获取特定频道上的未读邮件 用户登录到upitch网站 一旦他进入信息页面,我们将维护信息页面\u已访问\u计数=1 当用户从消息页面路由到任何其他页面时,我们正在更新消息\u页面\u访问量\u计数=0并更新时间戳 现在我们使用mysql函数strotime(“now”)来更新时间戳 $this->Userlink->updateAll( array('pubnub_time_stamp' => strtotime("now")),

目标:-获取特定频道上的未读邮件

用户登录到upitch网站

一旦他进入信息页面,我们将维护
信息页面\u已访问\u计数=1

当用户从消息页面路由到任何其他页面时,我们正在更新
消息\u页面\u访问量\u计数=0
并更新时间戳

现在我们使用mysql函数
strotime(“now”)
来更新时间戳

$this->Userlink->updateAll(
                    array('pubnub_time_stamp' => strtotime("now")), array('Userlink.id' => $loggedInUser)
            ); // updating timestamp for logged in user 1455687812
history(
string $channel, 
integer $count = 100, 
boolean $include_token = null,
integer $start = null, 
integer $end = null,
boolean $reverse = false)
它将
1455687812
10位时间戳更新到我们的数据库中,供登录用户使用

正如与pubnub团队讨论的那样,pubnub团队表示要将7个零添加到 时间戳的右端。它变成了
14556878120000000

我已经集成了php sdk pubnub

include_once './vendor/autoload.php';
use Pubnub\Pubnub;
$publish_key   = publish_key
$subscribe_key = subscribe_key
$pubnub = new Pubnub($publish_key, $subscribe_key);
我找到了实现历史的方法,就像这样

$this->Userlink->updateAll(
                    array('pubnub_time_stamp' => strtotime("now")), array('Userlink.id' => $loggedInUser)
            ); // updating timestamp for logged in user 1455687812
history(
string $channel, 
integer $count = 100, 
boolean $include_token = null,
integer $start = null, 
integer $end = null,
boolean $reverse = false)
通过实施以下措施:

$result= $pubnub->history(
"2242_2272_1116", //my channel
null,
true, 
null,
14556878120000000, //endtime token with 7 zeros
null);
echo "<pre>";
print_r($result);die;
为什么它返回所有消息而不是2条消息

注意:-这次我没有添加任何零,而是使用pubnub最初生成的timetoken

即使这样做也会返回所有消息


仍然不走运。

我们在您的支持通知单中私下讨论了这一点,它只涉及您在PubNub历史API中使用的时间标记和参数

给定的timetoken不是您搜索的消息的确切发布timetoken,因此结果可能不是您期望的结果


以及进一步的帮助。

@pubnub您能研究一下这个问题吗?正如我们私下讨论的那样,我运行了您的脚本,它返回了3条消息,而不是全部5条消息,带有任何一个timetoken。