使用 Laravel Pusher 和 Jquery 的实时聊天应用程序

言鼎科技 2023-05-18 286

Pusher 是一个基于云的平台,使开发人员能够快速创建实时 Web 和移动应用程序。Laravel Pusher 因其简单易用而被广泛使用。在这篇博客中,我们将详细了解什么是 Laravel 中的 Pusher、它的功能,以及有关如何使用 Pusher Laravel 和 Jquery 构建实时聊天应用程序的教程。

Laravel 推送器介绍

Pusher 是一种托管服务,可以在 Web 和移动应用程序中使用实时数据。Laravel Pusher 具有许多特性,使其成为构建实时应用程序的热门选择。以下是 Pusher 的一些主要功能:

  • 实时消息传递: Pusher 支持客户端和服务器之间的实时消息传递,允许开发人员构建实时更新的实时应用程序。

  • 通道: Pusher 使用通道来管理客户端和服务器之间的数据通信。通道用于按类型对数据进行分组,使开发人员更容易管理他们的数据。

  • Webhooks: Pusher 提供了 webhooks,可以在某些事件发生时接收实时通知。这对于在实时聊天应用程序中触发操作很有用。

  • 身份验证: Pusher 提供身份验证机制,使开发人员能够保护他们的实时应用程序。

  • 存在: Pusher 的存在通道为开发人员提供了一种在实时应用程序中跟踪用户状态的方法。状态通道有助于构建用户状态、用户列表和在线/离线状态等功能。

Laravel 推送通道的类型

Pusher 为开发人员提供了四种类型的通道,供他们在实时应用程序中使用:

  • 公共频道:这些频道对所有人开放;任何用户都可以订阅它们而无需任何身份验证。公共频道适合广播每个人都能看到的事件。

  • 私人频道:这些频道仅供经过身份验证的用户访问。您可以使用私人渠道发送只有特定用户才能看到的敏感信息。

  • Presence Channels:这些频道类似于私人频道,但也提供有关谁当前订阅了该频道的信息。在线状态通道对于构建实时聊天应用程序、在线协作工具和多人游戏非常有用。

  • 加密通道:这些通道为客户端和服务器之间发送的消息提供端到端加密。加密通道对于处理敏感数据或需要高安全性的应用程序很有用。

开发人员可以根据其应用程序的用例和安全要求选择合适的通道类型。Pusher 的通道类型提供了一系列选项以满足各种需求,并使开发人员能够快速轻松地构建实时应用程序。

如何创建推送账户

1.前往Pusher的 Pusher 网站。
2.点击页面右上角的“注册”按钮。
3.使用您的姓名、电子邮件地址和密码填写注册表。
4.单击“创建帐户”按钮。
5.您将收到来自 Pusher 的确认邮件。单击电子邮件中的链接以验证您的电子邮件地址并激活您的帐户。
6.一旦您的帐户被激活,您就可以登录到 Pusher 仪表板并开始使用 Pusher 的实时通信基础设施来构建您的应用程序。

如何在 Pusher Laravel 中创建应用程序

1.登录您的 Pusher 帐户并转到仪表板。
2.单击“创建新应用”按钮。
3.使用您的应用名称、描述和您将使用的技术(例如,JavaScript、React、iOS 等)填写表格。
4.选择您要为您的应用使用的集群(Pusher 提供位于不同区域的不同集群,以优化您的用户的性能)。
5.单击“创建应用程序”按钮创建您的应用程序。

创建应用程序后,Pusher 将为您提供应用程序 ID、API 密钥和 API 密钥。您将需要这些凭据才能在您的应用程序中使用聊天推送器 API 和库。您可以在“应用程序密钥”选项卡下的应用程序仪表板中找到这些凭据。

创建应用程序后,您可以配置要在应用程序中使用的设置和功能。例如,您可以创建通道、配置 webhook、设置身份验证等。Pusher 的文档提供了有关如何在您的应用程序中使用 Pusher 的功能的详细指南和示例。

想要使用 Laravel Pusher 和 Jquery 创建一个动态的实时聊天应用程序?
准备好拥有一个无缝且用户友好的顶级聊天应用程序。立即行动,聘请
Laravel 开发人员立即开始实时聊天应用程序!

使用 Laravel Pusher 和 JQuery 的聊天应用程序示例

在这个Laravel Pusher教程中,我们将看到如何在 Laravel 中使用 Pusher 创建一个实时聊天应用程序。

第 1 步:安装包

使用 Laravel Pusher 和 Jquery 的实时聊天应用程序
composer 需要 pusher/pusher-php-server

将应用凭据配置到您的 .env 文件

使用 Laravel Pusher 和 Jquery 的实时聊天应用程序
PUSHER_APP_ID=PUSHER_APP_KEY=PUSHER_APP_SECRET=PUSHER_APP_CLUSTER=不要忘记清除缓存:php artisan config:clear

第 2 步:创建路线

使用 Laravel Pusher 和 Jquery 的实时聊天应用程序
Route::post('pusher/send-message', ' pusherController@sendMessage ')->name('pusher.sendmessage');

第 3 步:使用 Laravel Pusher 和 Jquery 发送消息

查询:

使用 Laravel Pusher 和 Jquery 的实时聊天应用程序
var message = '你好,这是我的第一条实时消息';$.ajax({
   类型:“发布”,
   缓存:错误,
   数据类型:'json',
   网址:'{{路线(“pusher.sendmessage”)}}',
   内容类型:假,
   过程数据:假的,
   数据:{消息:消息},
   标题:{
       'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
   },
   成功:功能(结果){
       如果(结果.response_code == 1){
           alert("消息已发送");
       }别的{
           alert("发送消息失败");
       }
   },
   错误:函数(){
       alert("发生错误请稍后再试");
   }});

拉维尔:

使用 Laravel Pusher 和 Jquery 的实时聊天应用程序
使用 Pusher\Pusher;使用验证器;类 pusherController 扩展控制器{
    公共功能 sendMessage(请求 $request){        
        $return_data['response_code'] = 0;
        $return_data['message'] = '出了点问题,请稍后再试。';
        $rules = ['message' => 'required'];
        $messages = ['message.required' => '请输入消息进行交流。'];
        $validator = Validator::make($request->all(), $rules, $messages);
        如果 ($validator->fails()) {
            $message = implode(" 
", $validator->messages()->all());            $return_data['消息'] = $消息;            返回 $return_data;        }        尝试 {            $选项= [                'cluster' => env('PUSHER_APP_CLUSTER'),                'useTLS' => 真            ];            $pusher = 新的 Pusher(                环境('PUSHER_APP_KEY'),                环境('PUSHER_APP_SECRET'),                环境('PUSHER_APP_ID'),                $选项            );            $response = $pusher->trigger('my-chat-channel', 'my-new-message-event', ['message' => $request->message]);            如果($响应){                $return_data['response_code'] = 1;                $return_data['消息'] = '成功。';            }        } catch (\Exception $e) {            $return_data['消息'] = $e->getMessage();        }        返回 $return_data;    }}

第 4 步:订阅频道并收听事件

使用 Laravel Pusher 和 Jquery 的实时聊天应用程序

结论

Pusher 是一个强大的平台,使开发人员能够快速轻松地构建实时 Web 和移动应用程序。它的一系列功能和直观的聊天 Pusher API 使其成为寻求构建实时应用程序的开发人员的热门选择。无论您是在构建实时聊天应用程序、协作工具还是多人游戏,Laravel Pusher 都能提供实现它所需的基础设施和工具。利用我们的Laravel 开发服务可以帮助您集成 Pusher 并构建交互式、协作和高性能的应用程序。今天联系我们了解更多。

言鼎科技

The End