elnooronline / onesignal
OneSignal通知驱动程序
1.1.0
2017-11-13 13:51 UTC
Requires
- php: >=5.6.4
- berkayk/onesignal-laravel: ^0.9.3
- illuminate/notifications: 5.*
- illuminate/support: 5.*
Requires (Dev)
- mockery/mockery: ^1.0
- orchestra/testbench: ^3.5
- phpunit/phpunit: ^6.4
This package is auto-updated.
Last update: 2024-09-15 22:48:47 UTC
README
此包使得在Laravel 5.3中发送OneSignal通知变得简单。
内容
安装
您可以通过composer安装此包
composer require laravel-notification-channels/onesignal
您必须安装服务提供者
// config/app.php 'providers' => [ ... NotificationChannels\OneSignal\OneSignalServiceProvider::class, ],
设置OneSignal账户
将OneSignal App ID和REST API密钥添加到您的config/services.php
// config/services.php ... 'onesignal' => [ 'app_id' => env('ONESIGNAL_APP_ID'), 'rest_api_key' => env('ONESIGNAL_REST_API_KEY') ], ...
使用方法
现在您可以在通知的via()
方法中使用该频道
use NotificationChannels\OneSignal\OneSignalChannel; use NotificationChannels\OneSignal\OneSignalMessage; use NotificationChannels\OneSignal\OneSignalWebButton; use Illuminate\Notifications\Notification; class AccountApproved extends Notification { public function via($notifiable) { return [OneSignalChannel::class]; } public function toOneSignal($notifiable) { return OneSignalMessage::create() ->subject("Your {$notifiable->service} account was approved!") ->body("Click here to see details.") ->url('http://onesignal.com') ->webButton( OneSignalWebButton::create('link-1') ->text('Click here') ->icon('https://upload.wikimedia.org/wikipedia/commons/4/4f/Laravel_logo.png') ->url('https://laravel.net.cn') ); } }
为了使您的通知知道您针对的是哪些OneSignal用户,请将routeNotificationForOneSignal
方法添加到您的可通知模型中。
您可以返回单个player-id,或者如果您想通知多个player ID,则返回包含所有ID的数组。
public function routeNotificationForOneSignal() { return 'ONE_SIGNAL_PLAYER_ID'; }
所有可用方法
subject('')
:接受字符串标题值。body('')
:接受通知正文字符串值。icon('')
:接受图标url。url('')
:接受通知点击事件url。webButton(OneSignalWebButton $button)
:允许您向通知添加操作按钮(仅限Chrome 48+(Web推送))。button(OneSignalButton $button)
:允许您向通知添加按钮(由iOS 8.0和Android 4.1+设备支持。图标仅适用于Android)。setData($key, $value)
:允许您为消息有效负载设置其他数据。有关更多信息,请参阅OneSignal文档。
按钮使用
OneSignalMessage::create() ->button( OneSignalButton::create('id') ->text('button text') ->icon('button icon') );
WebButton使用
OneSignalMessage::create() ->webButton( OneSignalWebButton::create('id') ->text('button text') ->icon('button icon') ->url('button url') );
变更日志
有关最近更改的更多信息,请参阅变更日志。
测试
$ composer test
安全
如果您发现任何与安全相关的问题,请通过m.pociot@gmail.com发送电子邮件,而不是使用问题跟踪器。
贡献
有关详细信息,请参阅贡献指南。
致谢
许可
MIT许可(MIT)。有关更多信息,请参阅许可文件。