All Projects → springboardVR → Laravel-Ably-Broadcaster

springboardVR / Laravel-Ably-Broadcaster

Licence: MIT license
A Laravel Broadcast Driver for Ably.io

Programming Languages

PHP
23972 projects - #3 most used programming language

Projects that are alternatives of or similar to Laravel-Ably-Broadcaster

laravel-echo-redis-socketio
It's a very simple chat demo, use laravel-echo-server and Laravel Echo
Stars: ✭ 30 (-23.08%)
Mutual labels:  laravel-echo
tutorials
Ably Tutorials in multiple languages
Stars: ✭ 35 (-10.26%)
Mutual labels:  ably
LaraMeet
Simple one to one video chat using Laravel Framework, Laravel Echo, Laravel Websocket
Stars: ✭ 15 (-61.54%)
Mutual labels:  laravel-echo
vuetified
Laravel 5.5 Vuetify Real Time Starter App
Stars: ✭ 15 (-61.54%)
Mutual labels:  laravel-echo
Laravel Echo Server
Socket.io server for Laravel Echo
Stars: ✭ 2,487 (+6276.92%)
Mutual labels:  laravel-echo
Dashboard.spatie.be
The source code of dashboard.spatie.be
Stars: ✭ 1,916 (+4812.82%)
Mutual labels:  laravel-echo
Laravel Websockets
Websockets for Laravel. Done right.
Stars: ✭ 4,157 (+10558.97%)
Mutual labels:  laravel-echo
laravel-realtime-chat-pusher
Contoh aplikasi realtime chat dengan pusher
Stars: ✭ 36 (-7.69%)
Mutual labels:  laravel-echo
realtime-multiplayer-space-invaders
Realtime Multiplayer Space Invaders Game with Phaser 3 and Ably
Stars: ✭ 42 (+7.69%)
Mutual labels:  ably
go-laravel-broadcast
Laravel Broadcasting Service.
Stars: ✭ 29 (-25.64%)
Mutual labels:  laravel-broadcast

Ably Broadcaster for Laravel

Latest Version on Packagist Build Status Quality Score Total Downloads

Adding support for the Ably broadcaster to Laravel! This uses the native Ably PHP SDK and adds a custom Laravel Broadcast Driver.

Installation

You can install the package via composer:

composer require springboardvr/laravel-ably-broadcaster

Configuration

Currently to use Ably with Laravel Echo in the frontend you need to enable the Pusher Protocol Support inside of your Abbly account.

  1. Go to Settings for your Application
  2. Enable Pusher protocol support under Protocol Adapter Settings

Once you've got that setup you can continue to configuring your Laravel application.

Change your default Broadcast driver name in config/broadcasting.php

'default' => env('BROADCAST_DRIVER', 'ably'),

Then you need to add Ably to your config/broadcasting.php config file under connections.

'ably' => [
    'driver' => 'ably',
    'key' => env('ABLY_KEY'),
],

Then you need to update your .env file with your Ably configuration details. The Key is available in the API Keys section of Ably. You need a key with full Privileges.

The ABLY_KEY value will look something like g7CSSj.E08Odw:t2w2LkZ7OcR2Xk7S For the MIX_ABLY_KEY value you need to take everything before the : in your ABLY_KEY, like g7CSSj.E08Odw

BROADCAST_DRIVER=ably
ABLY_KEY=
MIX_ABLY_KEY=

Once you've got the Laravel side setup you also need to update Laravel Echo to use Ably! It keeps using the Pusher JS library but you use the Websocket Host that Ably provides.

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,
});

That's it! Public, Private, and Presence channels will all work as with Pusher.

Testing

composer test

Limitations

  • Currently in the frontend it is using the PusherJS library rather then the Ably library. We will be evaluating adding support for this library to Laravel Echo in the future.
  • When you are broadcasting to multiple channels we aren't yet using the Bulk Publish endpoints. Once these are moved out of Beta we will update the library to support them.
  • Limited testing! Needs to be expanded to cover the Auth functions.

Changelog

Please see CHANGELOG for more information what has changed recently.

Contributing

Please see CONTRIBUTING for details.

Security

If you discover any security related issues, please email [email protected] instead of using the issue tracker.

Credits

License

The MIT License (MIT). Please see License File for more information.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].