elementworks / pusher-helper
支持 Pusher 功能
Requires
- craftcms/cms: ^3.0.0
- pusher/pusher-php-server: ^4.0
README
支持 Pusher 功能
要求
此插件需要 Craft CMS 3.0.0-beta.23 或更高版本。
安装
要安装插件,请按照以下说明操作。
-
打开您的终端并转到您的 Craft 项目
cd /path/to/project
-
然后告诉 Composer 加载插件
composer require elementworks/pusher-helper
-
在控制面板中,转到设置 → 插件,然后点击 Pusher Helper 的“安装”按钮。
Pusher Helper 概览
此插件为 CraftCMS 提供了 Pusher 的后端支持模板,包括
- 对私人频道的身份验证能力。
- 支持使用拉取方式实现的大规模存在实现,具体说明如下:https://support.pusher.com/hc/en-us/articles/360019620253-How-can-I-implement-large-presence-channels-on-Channels-
- 支持消息分块,以便将大于 10kb 的消息发送到“全局”存在频道,具体技术如下:https://github.com/pusher/pusher-channels-chunking-example
此插件不提供前端代码。您需要根据项目需求编写自己的前端实现。
配置 Pusher Helper
将插件 src
目录中的 config.php
文件复制到您的项目 config
目录中,将其重命名为 pusher-helper.php
并添加您项目所需的设置。强烈建议您使用环境变量进行 Pusher 设置。
将以下环境变量添加到您所有环境中的 .env
文件中
PUSHER_APP_ID
PUSHER_KEY
PUSHER_SECRET
PUSHER_CLUSTER
PUSHER_CLUSTER
默认为 eu
,除非有其他指定。其他 Pusher API 参数对于插件运行是必需的。
globalChannel
配置设置是全局存在频道的名称,具体说明如下:https://support.pusher.com/hc/en-us/articles/360019620253-How-can-I-implement-large-presence-channels-on-Channels- 必须以 private-
开头。
userFields
配置设置确定用户对象上哪些字段将包含在发送到全局存在频道的存在消息中。这可以包括您项目中用户定义的任何有效字段。它们可以用于填充在线名单,因此请考虑您可能想要包含哪些信息,记住最好尽量简短,以限制发送的消息数量和大小。
Pusher 对消息的大小有 10kb 的限制,因此如果消息大小超过此限制,则将在全局存在频道上分块。
使用 Pusher Helper
按照上述说明安装和配置插件。
您负责提供以下内容以使此功能正常工作
- 所有前端javascript,使用
pusher.js
库进行用户身份验证和接收及处理来自全局存在频道的消息。插件不提供网站前端代码,并且没有它将无法工作。 - 在您的服务器上设置一个 cron 作业,每 1 分钟ping 一次
./craft pusher-helper/pusher/send-presence-state
以更新全局存在频道上的存在状态。
Pusher Helper 路线图
要完成的事情以及潜在功能的想法
- 发布它
由 Element Works Ltd 提供