使用 Laravel Pusher 和 Jquery 的實(shí)時(shí)聊天應(yīng)用程序

言鼎科技 2023-05-18 544

Pusher 是一個(gè)基于云的平臺(tái),使開發(fā)人員能夠快速創(chuàng)建實(shí)時(shí) Web 和移動(dòng)應(yīng)用程序。Laravel Pusher 因其簡(jiǎn)單易用而被廣泛使用。在這篇博客中,我們將詳細(xì)了解什么是 Laravel 中的 Pusher、它的功能,以及有關(guān)如何使用 Pusher Laravel 和 Jquery 構(gòu)建實(shí)時(shí)聊天應(yīng)用程序的教程。

Laravel 推送器介紹

Pusher 是一種托管服務(wù),可以在 Web 和移動(dòng)應(yīng)用程序中使用實(shí)時(shí)數(shù)據(jù)。Laravel Pusher 具有許多特性,使其成為構(gòu)建實(shí)時(shí)應(yīng)用程序的熱門選擇。以下是 Pusher 的一些主要功能:

  • 實(shí)時(shí)消息傳遞: Pusher 支持客戶端和服務(wù)器之間的實(shí)時(shí)消息傳遞,允許開發(fā)人員構(gòu)建實(shí)時(shí)更新的實(shí)時(shí)應(yīng)用程序。

  • 通道: Pusher 使用通道來管理客戶端和服務(wù)器之間的數(shù)據(jù)通信。通道用于按類型對(duì)數(shù)據(jù)進(jìn)行分組,使開發(fā)人員更容易管理他們的數(shù)據(jù)。

  • Webhooks: Pusher 提供了 webhooks,可以在某些事件發(fā)生時(shí)接收實(shí)時(shí)通知。這對(duì)于在實(shí)時(shí)聊天應(yīng)用程序中觸發(fā)操作很有用。

  • 身份驗(yàn)證: Pusher 提供身份驗(yàn)證機(jī)制,使開發(fā)人員能夠保護(hù)他們的實(shí)時(shí)應(yīng)用程序。

  • 存在: Pusher 的存在通道為開發(fā)人員提供了一種在實(shí)時(shí)應(yīng)用程序中跟蹤用戶狀態(tài)的方法。狀態(tài)通道有助于構(gòu)建用戶狀態(tài)、用戶列表和在線/離線狀態(tài)等功能。

Laravel 推送通道的類型

Pusher 為開發(fā)人員提供了四種類型的通道,供他們?cè)趯?shí)時(shí)應(yīng)用程序中使用:

  • 公共頻道:這些頻道對(duì)所有人開放;任何用戶都可以訂閱它們而無需任何身份驗(yàn)證。公共頻道適合廣播每個(gè)人都能看到的事件。

  • 私人頻道:這些頻道僅供經(jīng)過身份驗(yàn)證的用戶訪問。您可以使用私人渠道發(fā)送只有特定用戶才能看到的敏感信息。

  • Presence Channels:這些頻道類似于私人頻道,但也提供有關(guān)誰當(dāng)前訂閱了該頻道的信息。在線狀態(tài)通道對(duì)于構(gòu)建實(shí)時(shí)聊天應(yīng)用程序、在線協(xié)作工具和多人游戲非常有用。

  • 加密通道:這些通道為客戶端和服務(wù)器之間發(fā)送的消息提供端到端加密。加密通道對(duì)于處理敏感數(shù)據(jù)或需要高安全性的應(yīng)用程序很有用。

開發(fā)人員可以根據(jù)其應(yīng)用程序的用例和安全要求選擇合適的通道類型。Pusher 的通道類型提供了一系列選項(xiàng)以滿足各種需求,并使開發(fā)人員能夠快速輕松地構(gòu)建實(shí)時(shí)應(yīng)用程序。

如何創(chuàng)建推送賬戶

1.前往Pusher的 Pusher 網(wǎng)站。
2.點(diǎn)擊頁面右上角的“注冊(cè)”按鈕。
3.使用您的姓名、電子郵件地址和密碼填寫注冊(cè)表。
4.單擊“創(chuàng)建帳戶”按鈕。
5.您將收到來自 Pusher 的確認(rèn)郵件。單擊電子郵件中的鏈接以驗(yàn)證您的電子郵件地址并激活您的帳戶。
6.一旦您的帳戶被激活,您就可以登錄到 Pusher 儀表板并開始使用 Pusher 的實(shí)時(shí)通信基礎(chǔ)設(shè)施來構(gòu)建您的應(yīng)用程序。

如何在 Pusher Laravel 中創(chuàng)建應(yīng)用程序

1.登錄您的 Pusher 帳戶并轉(zhuǎn)到儀表板。
2.單擊“創(chuàng)建新應(yīng)用”按鈕。
3.使用您的應(yīng)用名稱、描述和您將使用的技術(shù)(例如,JavaScript、React、iOS 等)填寫表格。
4.選擇您要為您的應(yīng)用使用的集群(Pusher 提供位于不同區(qū)域的不同集群,以優(yōu)化您的用戶的性能)。
5.單擊“創(chuàng)建應(yīng)用程序”按鈕創(chuàng)建您的應(yīng)用程序。

創(chuàng)建應(yīng)用程序后,Pusher 將為您提供應(yīng)用程序 ID、API 密鑰和 API 密鑰。您將需要這些憑據(jù)才能在您的應(yīng)用程序中使用聊天推送器 API 和庫。您可以在“應(yīng)用程序密鑰”選項(xiàng)卡下的應(yīng)用程序儀表板中找到這些憑據(jù)。

創(chuàng)建應(yīng)用程序后,您可以配置要在應(yīng)用程序中使用的設(shè)置和功能。例如,您可以創(chuàng)建通道、配置 webhook、設(shè)置身份驗(yàn)證等。Pusher 的文檔提供了有關(guān)如何在您的應(yīng)用程序中使用 Pusher 的功能的詳細(xì)指南和示例。

想要使用 Laravel Pusher 和 Jquery 創(chuàng)建一個(gè)動(dòng)態(tài)的實(shí)時(shí)聊天應(yīng)用程序?
準(zhǔn)備好擁有一個(gè)無縫且用戶友好的頂級(jí)聊天應(yīng)用程序。立即行動(dòng),聘請(qǐng)
Laravel 開發(fā)人員立即開始實(shí)時(shí)聊天應(yīng)用程序!

使用 Laravel Pusher 和 JQuery 的聊天應(yīng)用程序示例

在這個(gè)Laravel Pusher教程中,我們將看到如何在 Laravel 中使用 Pusher 創(chuàng)建一個(gè)實(shí)時(shí)聊天應(yīng)用程序。

第 1 步:安裝包

使用 Laravel Pusher 和 Jquery 的實(shí)時(shí)聊天應(yīng)用程序
composer 需要 pusher/pusher-php-server

將應(yīng)用憑據(jù)配置到您的 .env 文件

使用 Laravel Pusher 和 Jquery 的實(shí)時(shí)聊天應(yīng)用程序
PUSHER_APP_ID=PUSHER_APP_KEY=PUSHER_APP_SECRET=PUSHER_APP_CLUSTER=不要忘記清除緩存:php artisan config:clear

第 2 步:創(chuàng)建路線

使用 Laravel Pusher 和 Jquery 的實(shí)時(shí)聊天應(yīng)用程序
Route::post('pusher/send-message', ' pusherController@sendMessage ')->name('pusher.sendmessage');

第 3 步:使用 Laravel Pusher 和 Jquery 發(fā)送消息

查詢:

使用 Laravel Pusher 和 Jquery 的實(shí)時(shí)聊天應(yīng)用程序
var message = '你好,這是我的第一條實(shí)時(shí)消息';$.ajax({
   類型:“發(fā)布”,
   緩存:錯(cuò)誤,
   數(shù)據(jù)類型:'json',
   網(wǎng)址:'{{路線(“pusher.sendmessage”)}}',
   內(nèi)容類型:假,
   過程數(shù)據(jù):假的,
   數(shù)據(jù):{消息:消息},
   標(biāo)題:{
       'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
   },
   成功:功能(結(jié)果){
       如果(結(jié)果.response_code == 1){
           alert("消息已發(fā)送");
       }別的{
           alert("發(fā)送消息失敗");
       }
   },
   錯(cuò)誤:函數(shù)(){
       alert("發(fā)生錯(cuò)誤請(qǐng)稍后再試");
   }});

拉維爾:

使用 Laravel Pusher 和 Jquery 的實(shí)時(shí)聊天應(yīng)用程序
使用 Pusher\Pusher;使用驗(yàn)證器;類 pusherController 擴(kuò)展控制器{
    公共功能 sendMessage(請(qǐng)求 $request){        
        $return_data['response_code'] = 0;
        $return_data['message'] = '出了點(diǎn)問題,請(qǐng)稍后再試。';
        $rules = ['message' => 'required'];
        $messages = ['message.required' => '請(qǐng)輸入消息進(jìn)行交流。'];
        $validator = Validator::make($request->all(), $rules, $messages);
        如果 ($validator->fails()) {
            $message = implode(" 
", $validator->messages()->all());            $return_data['消息'] = $消息;            返回 $return_data;        }        嘗試 {            $選項(xiàng)= [                'cluster' => env('PUSHER_APP_CLUSTER'),                'useTLS' => 真            ];            $pusher = 新的 Pusher(                環(huán)境('PUSHER_APP_KEY'),                環(huán)境('PUSHER_APP_SECRET'),                環(huán)境('PUSHER_APP_ID'),                $選項(xiàng)            );            $response = $pusher->trigger('my-chat-channel', 'my-new-message-event', ['message' => $request->message]);            如果($響應(yīng)){                $return_data['response_code'] = 1;                $return_data['消息'] = '成功。';            }        } catch (\Exception $e) {            $return_data['消息'] = $e->getMessage();        }        返回 $return_data;    }}

第 4 步:訂閱頻道并收聽事件

使用 Laravel Pusher 和 Jquery 的實(shí)時(shí)聊天應(yīng)用程序

結(jié)論

Pusher 是一個(gè)強(qiáng)大的平臺(tái),使開發(fā)人員能夠快速輕松地構(gòu)建實(shí)時(shí) Web 和移動(dòng)應(yīng)用程序。它的一系列功能和直觀的聊天 Pusher API 使其成為尋求構(gòu)建實(shí)時(shí)應(yīng)用程序的開發(fā)人員的熱門選擇。無論您是在構(gòu)建實(shí)時(shí)聊天應(yīng)用程序、協(xié)作工具還是多人游戲,Laravel Pusher 都能提供實(shí)現(xiàn)它所需的基礎(chǔ)設(shè)施和工具。利用我們的Laravel 開發(fā)服務(wù)可以幫助您集成 Pusher 并構(gòu)建交互式、協(xié)作和高性能的應(yīng)用程序。今天聯(lián)系我們了解更多。

言鼎科技

The End