首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >向特定用户发送推送通知- Laravel

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

Stack Overflow用户
提问于 2017-03-26 21:59:17
回答 1查看 7.4K关注 0票数 3

在我的laravel应用程序,我想发送一个通知给一个特定的用户使用user。

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

代码语言:javascript
复制
$pusher = App::make('pusher');

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

return view('home');

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

代码语言:javascript
复制
<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);
    });

但这会使通知出现在任何用户面前。这还存在另一个问题,即用户应该只在主页上接收通知!

那么,我应该如何向特定用户发送通知并使用户从任何页面接收通知呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-03-26 22:28:10

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

要使它转到特定的用户,您可以使用用户id,方法是将其附加到如下所示的通道

代码语言:javascript
复制
'notification-channel:' . $user->id

所以在你的布局文件中你可以听那个频道

代码语言:javascript
复制
var user = <?php echo $user ; ?>;
var channel = pusher.subscribe('notification-channel:' + user.id);

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

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43035079

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档