gpt4 book ai didi

laravel - 向特定用户发送推送通知 - Laravel

转载 作者:行者123 更新时间:2023-12-02 14:08:28 28 4
gpt4 key购买 nike

在我的 laravel 应用程序中,我想使用 Pusher 向特定用户发送通知。

我将此代码放入我的方法中:

$pusher = App::make('pusher');

$pusher->trigger( 'notification-channel',
'notification-event',
array('text' => 'this is a notification'));

return view('home');

并将其放入 home.blade.php 中:

<script src="//js.pusher.com/3.0/pusher.min.js"></script>
<script>

var pusher = new Pusher("{{env("PUSHER_KEY")}}");
var channel = pusher.subscribe('notification-channel');
channel.bind('notification-event', function(data) {
alert(data.text);
});

但这会使通知向任何用户显示。这还有另一个问题,用户应该只能在主页上接收通知!

那么,我应该怎么做才能向特定用户发送通知并让该用户从任何页面收到通知??

最佳答案

要让用户从任何页面接收它,请将 Pusher 代码放入 layout.blade.php(如果有)中。或者所有页面都将扩展的任何其他文件。

要使其发送给特定用户,您可以通过将用户 ID 附加到 channel 来使用它,例如

'notification-channel:' . $user->id

因此,在您的布局文件中,您可以收听该 channel

var user = <?php echo $user ; ?>;
var channel = pusher.subscribe('notification-channel:' + user.id);

虽然只有那么简单的用户可能会收到通知,但您的通知仍然是公开的。这意味着任何人都可以操纵他们的 ID 并接收其他人的通知。如果您想要私有(private)通知,可以按照此处的说明进行操作:https://laravel.com/docs/5.4/broadcasting#authorizing-channels

关于laravel - 向特定用户发送推送通知 - Laravel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43035079/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com