ahmadsafar / pusher-push-notifications
Pusher本地推送通知驱动。
此包的规范存储库似乎已消失,因此已冻结该包。
1.0.3
2017-05-25 14:37 UTC
Requires
- php: >=5.6.4
- illuminate/events: 5.3.* || 5.4.*
- illuminate/notifications: 5.3.* || 5.4.*
- illuminate/queue: 5.3.* || 5.4.*
- illuminate/support: 5.3.* || 5.4.*
- pusher/pusher-php-server: 2.6.*
Requires (Dev)
- mockery/mockery: ^0.9.5
- phpunit/phpunit: 4.*
This package is not auto-updated.
Last update: 2021-04-27 01:44:13 UTC
README
此包使得使用Laravel 5.3 - 5.5发送Pusher推送通知变得容易。
内容
安装
您可以通过composer安装此包
composer require ahmadsafar/pusher-push-notifications dev-master
您必须安装服务提供者
// config/app.php 'providers' => [ ... NotificationChannels\PusherPushNotifications\PusherPushNotificationsServiceProvider::class, ],
设置您的Pusher账户
在使用此包之前,您应该设置一个Pusher账户。以下是所需步骤。
- 登录到 https://dashboard.pusher.com/
- 从侧边栏选择您的应用程序或创建一个新应用程序。
- 单击“推送通知”选项卡。
- 上传您的APNS证书或添加您的GCM API密钥。
- 现在选择“应用密钥”选项卡。
- 复制您的
app_id
、key
和secret
。 - 更新您的
config/broadcasting.php
文件中pusher连接下的值。 - 现在您可以开始了。
用法
现在您可以在通知类内的via()
方法中使用此通道。
use NotificationChannels\PusherPushNotifications\PusherChannel; use NotificationChannels\PusherPushNotifications\PusherMessage; use Illuminate\Notifications\Notification; class AccountApproved extends Notification { public function via($notifiable) { return [PusherChannel::class]; } public function toPushNotification($notifiable) { return PusherMessage::create() ->iOS() ->badge(1) ->sound('success') ->body("Your {$notifiable->service} account was approved!"); } }
可用的消息方法
platform('')
:接受字符串值iOS
或Android
。iOS()
:将平台值设置为iOS。android()
:将平台值设置为Android。title('')
:接受字符串值作为标题。body('')
:接受字符串值作为正文。sound('')
:接受字符串值作为通知声音文件。注意,如果您留空,则默认声音值为default
。icon('')
:接受字符串值作为图标文件。(仅限Android)badge(1)
:接受整数值作为徽章。(仅限iOS)setOption($key, $value)
:允许您在消息负载中设置任何值。有关更多信息,请在此处查看iOS,或在此处查看Android。
发送到多个平台
您可以使用withiOS()
和withAndroid()
方法同时向iOS设备和Android设备发送单个消息。
public function toPushNotification($notifiable) { $message = "Your {$notifiable->service} account was approved!"; return PusherMessage::create() ->iOS() ->badge(1) ->body($message) ->withAndroid( PusherMessage::create() ->title($message) ->icon('icon') ); }
- 注意,iOS是默认平台,这意味着您不需要调用
->iOS()
。- 使用
withAndroid()
或withiOS()
时,您无需定义平台,后台会为您完成。
消息路由
默认情况下,推送的“兴趣”消息将通过使用 {notifiable}.{id} 惯例来定义,例如 App.User.1
。然而,您可以通过在可通知类方法中包含 routeNotificationForPusherPushNotifications()
来改变这种行为,该方法返回兴趣名称。
变更日志
请参阅 CHANGELOG 了解最近更改的详细信息。
测试
$ composer test
安全性
如果您发现任何安全相关的问题,请通过电子邮件 themsaid@gmail.com 而不是使用问题跟踪器。
贡献
请参阅 CONTRIBUTING 了解详细信息。
致谢
许可
MIT 许可证 (MIT)。请参阅 许可文件 了解更多信息。