在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
开源软件名称(OpenSource Name):laravel-notification-channels/onesignal开源软件地址(OpenSource Url):https://github.com/laravel-notification-channels/onesignal开源编程语言(OpenSource Language):PHP 100.0%开源软件介绍(OpenSource Introduction):OneSignal notifications channel for Laravel 5.3+This package makes it easy to send OneSignal notifications with Laravel 5.3+. ContentsInstallationYou can install the package via composer: $ composer require laravel-notification-channels/onesignal If you're installing the package in Laravel 5.4 or lower, you must import the service provider: // config/app.php
'providers' => [
...
NotificationChannels\OneSignal\OneSignalServiceProvider::class,
], Setting up your OneSignal accountAdd your OneSignal App ID and REST API Key to your // config/services.php
...
'onesignal' => [
'app_id' => env('ONESIGNAL_APP_ID'),
'rest_api_key' => env('ONESIGNAL_REST_API_KEY'),
'guzzle_client_timeout' => env('ONESIGNAL_GUZZLE_CLIENT_TIMEOUT', 0),
],
... UsageNow you can use the channel in your 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()
->setSubject("Your {$notifiable->service} account was approved!")
->setBody("Click here to see details.")
->setUrl('http://onesignal.com')
->webButton(
OneSignalWebButton::create('link-1')
->text('Click here')
->icon('https://upload.wikimedia.org/wikipedia/commons/4/4f/Laravel_logo.png')
->url('http://laravel.com')
);
}
} In order to let your Notification know which OneSignal user(s) you are targeting, add the You can either return a single player-id, or if you want to notify multiple player IDs just return an array containing all IDs. public function routeNotificationForOneSignal()
{
return 'ONE_SIGNAL_PLAYER_ID';
} If you want to send the notification based on the OneSignal "syncHashedEmail" feature just return an array with the index "email". It isn't possible to use multiple E-Mails on one filter because of a limitation of the OneSignal API. public function routeNotificationForOneSignal()
{
return ['email' => '[email protected]'];
} If you want to send the notification based on the OneSignal "Tags" feature just return an array with the index "tags". public function routeNotificationForOneSignal()
{
return ['tags' => ['key' => 'device_uuid', 'relation' => '=', 'value' => '1234567890-abcdefgh-1234567']];
} If you want to send the notification based on an external user id you set using the public function routeNotificationForOneSignal()
{
return ['include_external_user_ids' => $this->id];
} All available methods
Button usageOneSignalMessage::create()
->button(
OneSignalButton::create('id')
->text('button text')
->icon('button icon')
); WebButton usageOneSignalMessage::create()
->webButton(
OneSignalWebButton::create('id')
->text('button text')
->icon('button icon')
->url('button url')
); ChangelogPlease see CHANGELOG for more information what has changed recently. Testing$ composer test SecurityIf you discover any security related issues, please email [email protected] instead of using the issue tracker. ContributingPlease see CONTRIBUTING for details. CreditsLicenseThe MIT License (MIT). Please see License File for more information. |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论