新社区项目:Laravel 通知通道
发布日期 作者 Mohamed Said
Laravel 5.3 将附带一个通知系统,其中包含一个 Nexmo SMS 驱动程序、一个邮件驱动程序以及包含自定义驱动程序的能力。现在,我们已经内置了这个系统,我们可以从 Laravel 应用程序内部使用新的 Pusher 服务。
我们只需要创建一个自定义驱动程序,这样我们就可以立即将推送通知发送到我们的移动设备。
在 Freek Van der Herten 和 Marcel Pociot 的帮助下,我们成功地构建了一个易于使用的 Pusher 推送通知驱动程序。
Pusher 是一款实时通信平台,最近推出了一项全新的免费服务,供应用程序开发人员使用,它是一个统一的 API,可以将本机推送通知发送到 iOS 和 Android 设备。
使用本机推送通知,即使应用程序已关闭或处于非活动状态,您也可以与用户进行通信,这对用户参与度有很大影响。
能够使用统一的 API 发送 iOS 和 Android 推送通知,避免了必须应用多个设置过程的麻烦。您只需上传用于 iOS 设备的 APNS 证书或添加用于 Android 设备的 GCM API 密钥,仅此而已。
使用此驱动程序,您可以像这样发送推送通知
class AccountApproved extends Notification{ public function via($notifiable) { return [Channel::class]; } public function toPushNotification($notifiable) { return (new Message()) ->iOS() ->badge(1) ->sound('success') ->body("Your {$notifiable->service} account was approved!"); }}
此驱动程序将允许您使用流畅的表达式 Laravel 风格语法发送推送通知。
您可以在 此处查看它。
构建自定义驱动程序
许多平台都发送通知,有了 Laravel 5.3 中的新系统,我们认为将所有自定义驱动程序集中在一个地方是个好主意,就像 socialiteproviders.github.io 是所有 Socialite 提供程序的一站式商店一样,为此,我们创建了一个 GitHub 组织,我们将在此处收集和托管所有自定义驱动程序。
它仍在开发中,但如果您有自定义通道的想法,我们非常欢迎您的贡献,请 查看此骨架仓库,您可以在其中使用它作为样板。