springboardvr/laravel-ably-broadcaster

此包已被废弃,不再维护。未建议替代包。

Laravel 的 Ably 广播器

1.2.0 2020-09-15 12:47 UTC

This package is auto-updated.

Last update: 2023-04-15 18:31:52 UTC


README

Latest Version on Packagist Build Status Quality Score Total Downloads

为 Laravel 添加对 Ably 广播器的支持!这使用了本地的 Ably PHP SDK 并添加了自定义的 Laravel 广播驱动。

安装

您可以通过 composer 安装此包

composer require springboardvr/laravel-ably-broadcaster

配置

目前,为了在客户端使用 Laravel Echo 与 Ably,您需要在您的 Ably 账户中启用 Pusher 协议支持。

  1. 转到您的应用程序设置
  2. 在协议适配器设置下启用 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)。请参阅 许可证文件 了解更多信息。