Pusher 与多数据库公司

Pusher with multi-database companies

我正在尝试找出在我的应用程序中使用 Pusher 的最佳方法。

  1. 我的应用包含一个用户登录的普通网站
  2. 每个用户都连接到一家公司
  3. 每个公司都有自己的数据库

因此,我需要我的应用允许向仅属于已签约公司的人员发送常规消息和通知(如弹出窗口)。

Doubts/problems:

  1. 如果我创建一个名为 notifications 的频道并向其发送事件,所有用户(无论是哪个公司)都会收到它
  2. 如果我设置某种与公司关联的令牌将不起作用,因为某些 notifications/messages 应该只发送给受限用户

在我之前的项目中,我将一个令牌关联到公司,因为用户之间没有 activity 只有 "show-off" 每个 PHP 正在做什么(在循环内)公司,例如:

PHP:

$this->pusher->trigger($company_pusher_token, 'feedback', $data);

JS:

var token   = $('#company_pusher_token').val();
var channel = pusher.subscribe(token);

channel.bind('feedback', function(data) 
{
   alert('working..');
});

那么,我应该如何着手完成我正在寻找的东西?

看来你的方向是对的。

频道名称始终以公司唯一前缀开头。如果只应通知该公司的一部分用户,则将前缀与组 ID 结合起来。

频道:

  • "notifications": 发送给所有公司,所有客户
  • "<company-token>-notifications":发送给给定公司的所有客户
  • "<company-token>-<group-id>-notifications":发送给给定公司内一个组的所有客户

顺便说一下,如果您想确保您的客户无法绑定到另一家公司的渠道,请确保公司令牌不可猜测,或者使用 "private-" 前缀让您控制授权订阅频道。