neverdull / laravel-exponent-push-notifications
适用于 Laravel 的 Exponent 推送通知驱动程序
2.1.3
2020-03-02 13:02 UTC
Requires
- php: ^7.1.3
- alymosul/exponent-server-sdk-php: 1.2.*
- laravel/framework: ^5.6 || ^6.0
Requires (Dev)
- mockery/mockery: ^0.9.5
- orchestra/testbench: ~3.3||~4.0
- phpunit/phpunit: ~5.4||~5.7||~6.0||^7.0
README
内容
安装
您可以通过运行 composer require neverdull/laravel-exponent-push-notifications
来安装此包
如果您正在使用 Laravel 5.5 或更高版本,此包将自动通过包发现注册自己。对于 Laravel 的旧版本,您必须手动安装服务提供者
// config/app.php
'providers' => [
...
NotificationChannels\ExpoPushNotifications\ExpoPushNotificationsServiceProvider::class,
],
在发布 exponent 通知迁移之前,您必须在 .env 文件中添加以下内容
EXPONENT_PUSH_NOTIFICATION_INTERESTS_STORAGE_DRIVER=database
您可以使用以下命令发布迁移
php artisan vendor:publish --provider="NotificationChannels\ExpoPushNotifications\ExpoPushNotificationsServiceProvider" --tag="migrations"
发布迁移后,您可以通过运行迁移来创建 exponent_push_notification_interests
表
php artisan migrate
您可以选择使用以下命令发布配置文件
php artisan vendor:publish --provider="NotificationChannels\ExpoPushNotifications\ExpoPushNotificationsServiceProvider" --tag="config"
这是已发布配置文件的内容
return [
'interests' => [
/*
* Supported: "file", "database"
*/
'driver' => env('EXPONENT_PUSH_NOTIFICATION_INTERESTS_STORAGE_DRIVER', 'file'),
'database' => [
'table_name' => 'exponent_push_notification_interests',
],
]
];
使用方法
use NotificationChannels\ExpoPushNotifications\ExpoChannel;
use NotificationChannels\ExpoPushNotifications\ExpoMessage;
use Illuminate\Notifications\Notification;
class AccountApproved extends Notification
{
public function via($notifiable)
{
return [ExpoChannel::class];
}
public function toExpoPush($notifiable)
{
return ExpoMessage::create()
->title("User 1 messaged you")
->badge(1)
->enableSound()
->body("Hi there!");
}
}
可用的消息方法
所有可用选项的列表
body('')
:接受一个字符串值作为正文。enableSound()
:启用通知声音。disableSound()
:静音通知声音。badge(1)
:接受一个整数值作为徽章。ttl(60)
:接受一个整数值作为存活时间。
管理收件人
此包注册了两个处理收件人订阅的端点,这些端点在 src/Http/routes.php 文件中定义,并由 ExpoController 使用,并通过包服务提供者加载。
路由消息
默认情况下,将通过 {notifiable}.{id} 约定定义要发送的 exponent "interest" 消息,例如 App.User.1
,但是您可以通过在可通知类方法中包含 routeNotificationForExpoPushNotifications()
来更改此行为,该方法返回兴趣名称。
变更日志
有关最近更改的更多信息,请参阅变更日志。
测试
$ composer test
安全
如果您发现任何安全相关的问题,请通过发送电子邮件到 alymosul@gmail.com 而不是使用问题跟踪器。
贡献
有关详细信息,请参阅贡献。
致谢
许可证
MIT 许可证(MIT)。有关更多信息,请参阅许可证文件。