springboardvr / laravel-ably-broadcaster
Laravel 的 Ably 广播器
Requires
- php: ^5.6 || ^7.0
- ext-json: *
- ably/ably-php: ^1.1
- illuminate/support: 5.7.* || 5.8.* || ^6.0 || ^7.0 || ^8.0
Requires (Dev)
- orchestra/testbench: 3.8.*
- phpunit/phpunit: ^7.0
This package is auto-updated.
Last update: 2023-04-15 18:31:52 UTC
README
为 Laravel 添加对 Ably 广播器的支持!这使用了本地的 Ably PHP SDK 并添加了自定义的 Laravel 广播驱动。
安装
您可以通过 composer 安装此包
composer require springboardvr/laravel-ably-broadcaster
配置
目前,为了在客户端使用 Laravel Echo 与 Ably,您需要在您的 Ably 账户中启用 Pusher 协议支持。
- 转到您的应用程序设置
- 在协议适配器设置下启用 Pusher 协议支持
设置好之后,您可以继续配置您的 Laravel 应用程序。
在 config/broadcasting.php
中更改您的默认广播驱动名称
'default' => env('BROADCAST_DRIVER', 'ably'),
然后,您需要将 Ably 添加到您的 config/broadcasting.php
配置文件中的 connections
部分。
'ably' => [ 'driver' => 'ably', 'key' => env('ABLY_KEY'), ],
然后,您需要使用您的 Ably 配置详细信息更新您的 .env
文件。密钥可在 Ably 的 API 密钥部分找到。您需要一个具有完全权限的密钥。
ABLY_KEY
值可能看起来像 g7CSSj.E08Odw:t2w2LkZ7OcR2Xk7S
,对于 MIX_ABLY_KEY
值,您需要使用 ABLY_KEY
中冒号之前的所有内容,例如 g7CSSj.E08Odw
BROADCAST_DRIVER=ably ABLY_KEY= MIX_ABLY_KEY=
一旦您设置了 Laravel 这边,您还需要更新 Laravel Echo 以使用 Ably!它仍然使用 Pusher JS 库,但您使用 Ably 提供的 Websocket 主机。
import Echo from "laravel-echo" window.Pusher = require('pusher-js'); window.Echo = new Echo({ broadcaster: 'pusher', key: process.env.MIX_ABLY_KEY, wsHost: 'realtime-pusher.ably.io', wsPort: 443, disableStats: true, encrypted: true, });
就这样!公共、私有和存在通道都将像使用 Pusher 一样工作。
测试
composer test
限制
- 目前在前端,它使用的是 PusherJS 库而不是 Ably 库。我们将在未来评估为 Laravel Echo 添加对该库的支持。
- 当您向多个频道广播时,我们尚未使用 批量发布 端点。一旦这些功能移出测试阶段,我们将更新库以支持它们。
- 测试有限!需要扩展以涵盖认证功能。
变更日志
请参阅 CHANGELOG 了解最近的变化。
贡献
请参阅 CONTRIBUTING 获取详细信息。
安全性
如果您发现任何安全相关的问题,请通过电子邮件 matthew@springboardvr.com 反馈,而不是使用问题跟踪器。
致谢
许可证
MIT许可证(MIT)。请参阅 许可证文件 了解更多信息。