arhamlabs / notification_handler
此包的最新版本(1.0)没有可用的许可证信息。
1.0
2024-05-03 09:13 UTC
Requires
- kreait/firebase-php: *
- twilio/sdk: ^7.0
README
此包用于通知。此包提供SLACL、EMAIL和FIREBASE通知。
安装
为了安装此包,请使用以下指定的命令
composer require arhamlabs/notification_handler
用法
邮件
在配置文件alNotificationConfig.php中,启用以下标志以启用邮件通知
'enable_notification' => true, 'notification_type' => [ 'email' => true ],
一旦配置启用,只需将数组对象调度到MailNotificationHandlerJob。
示例-
use Arhamlabs\NotificationHandler\Jobs\MailNotificationHandlerJob; $body = array( /*errors you want to show*/ ); #Dispatch to job with the notification object $notificationObject = array(); $notificationObject["body"] = json_encode($body); dispatch(new MailNotificationHandlerJob($notificationObject));
Slack
在配置文件alNotificationConfig.php中,启用以下标志以启用Slack通知
'enable_notification' => true, 'notification_type' => [ 'slack' => true ],
一旦配置启用,只需将数组对象调度到SlackNotificationHandlerJob。
示例-
use Arhamlabs\NotificationHandler\Jobs\SlackNotificationHandlerJob; $body = array( /*errors you want to show*/ ); #Dispatch to job with the notification object $notificationObject = array(); $notificationObject["body"] = json_encode($body); dispatch(new SlackNotificationHandlerJob($notificationObject));
Firebase
在配置文件alNotificationConfig.php中,启用以下标志以启用Slack通知
'enable_notification' => true, 'notification_type' => [ 'firebase' => true ],
对于Firebase通知,需要Firebase json文件。只需将路径添加到.env文件中。有两种定义Firebase json路径的方法。如果您使用S3存储桶,则使用S3_FIREBASE_JSON_PATH;否则,您可以在公共文件夹中提供json文件,使用LOCAL_FIREBASE_JSON_PATH。
S3_FIREBASE_JSON_PATH='s3 bucket path' =========OR============ LOCAL_FIREBASE_JSON_PATH='path from public directory' Example- LOCAL_FIREBASE_JSON_PATH='firebase/request.json'
为了在用户设备上发送推送通知,您需要Firebase令牌。
示例 -
use Arhamlabs\NotificationHandler\Jobs\FirebaseNotificationHandlerJob; $tokens = [ 'token 1', 'token 2', 'token 3' ]; $requestJson = [ "title" => 'Test', "subtitle" => 'Testing', "data" => [ "redirection" => "/homeScreen", "arguments" => json_encode(array( 'userUuid' => 'userUuid' )) ] ]; dispatch(new FirebaseNotificationHandlerJob($tokens, $requestJson));