如何在后台 laravel 中运行推送通知循环?

Posted

技术标签:

【中文标题】如何在后台 laravel 中运行推送通知循环?【英文标题】:How to run push notifications loop in the background laravel? 【发布时间】:2018-05-21 07:55:20 【问题描述】:

现在我需要在每次添加记录时向我的所有用户发送 FCM 推送通知,但是循环遍历它们需要很长时间,如何使循环在后台工作?

我正在使用 brozot/Laravel-FCM 包

【问题讨论】:

如果需要很长时间,则使用队列推送所有通知。 【参考方案1】:

您可能正在触发推送通知事件。因此,在触发推送通知事件时,您可以将通知推送到队列中。这个队列基本上是在 Listeners 文件夹中声明的类中实现的。示例:

namespace App\Listeners;

use App\Events\EventName;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Contracts\Queue\ShouldQueue;
use App\FcmAdapter; 

class NotificationClassName implements ShouldQueue

    /**
     * Create the event listener.
     *
     * @return void
     */

    public function __construct()
    
        //
    

    /**
     * Handle the event.
     *
     * @param  EventName  $event
     * @return void
     */
    public function handle(EventName $event)
    
       // code for sending FCM notification. 
    

implements ShouldQueue是实现队列的方式。

【讨论】:

以上是关于如何在后台 laravel 中运行推送通知循环?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用远程推送通知触发 AVAudioPlayer 播放?

向出租车司机发送推送通知,但每个循环都有延迟 - php laravel

如何从推送通知启动后台运行的 android 应用程序?

如何在后台的android应用程序图标上计算推送通知消息徽章

Laravel 推送通知桌面(chrome 或 firefox)

如何在后台捕获由推送通知触发的 iOS 位置?