通知テンプレートと複数の通知チャネルを使用してユーザーに通知を送信します。マクロを備えたフィラメント ネイティブ通知サービスをサポートし、FCM サービス ワーカー通知への完全な統合をサポートします。
ユーザーに通知を送信する
フィラメントネイティブ通知を使用する
通知テンプレートを使用する
FCM Service Worker の完全な統合
複数の通知チャネルを使用する
通知を取得するための API
通知リソースを非表示にする
Slack ドライバーを使用する
Discordドライバーを使用する
リバーブドライバーを使用する
SMS Misr ドライバーを使用する
電子メールドライバーを使用する
データベースドライバーを使用する
MessageBirdドライバーを使用する
このパッケージを使用する前に、インストールされていることを確認してください
フィラメントスパティー翻訳可能
フィラメントスパティーメディアライブラリ
フィラメント設定ハブ
作曲家にはトマトphp/filament-alertsが必要です
次に、設定テーブルを公開して移行する必要があります
php 職人ベンダー:publish --provider="SpatieLaravelSettingsLaravelSettingsServiceProvider" --tag="移行"
パッケージをインストールした後、このコマンドを実行してください
php 職人フィラメントアラート:インストール
このパッケージをプラグインとして使用していない場合は、 /app/Providers/Filament/AdminPanelProvider.php
Filament/AdminPanelProvider.php でプラグインを登録してください。
->プラグイン(TomatoPHPFilamentAlertsFilamentAlertsPlugin::make() )
通知を受け取るようにモデルを設定するには、
<?phpnamespace AppModels;use IlluminateContractsAuthMustVerifyEmail;use IlluminateDatabaseEloquentFactoriesHasFactory;use IlluminateFoundationAuthUser as Authenticatable;use IlluminateNotificationsNotifiable;use LaravelFortifyTwoFactorAuthenticatable;use LaravelJetstreamHasProfilePhoto;use LaravelSanctumHasApiTokens;SpatiePermissionTraitsHasRoles を使用;TomatoPHPFilamentAlertsTraitsInteractsWithNotifications を使用;class User extends Authenticatable{HasApiTokens を使用;HasFactory を使用;HasProfilePhoto を使用;Notifiable を使用;TwoFactorAuthenticatable を使用;HasRoles を使用;InteractsWithNotifications を使用; ...
リアルタイム通知を取得するには、FCM の設定を行う必要があります。
通知はキューで実行されるため、通知を送信するにはキュー ワーカーを実行する必要があります
php 職人キュー:作業
フィラメントのネイティブ通知を使用することができ、いくつかのmacro
が追加されます
FilamentNotificationsNotification;Notification::make('send') を使用します。 ->title('テスト通知') ->body('これはテスト通知です') ->icon('heroicon-o-bell') ->color('成功') ->actions([FilamentNotificationsActionsAction::make('view') ->label('ビュー') ->url('https://google.com') ->markAsRead() ]) ->sendToDiscord(auth()->user()) ->sendToEmail(auth()->user()) ->ブロードキャスト(認証()->ユーザー()) ->sendToDatabase(auth()->user()) ->sendToSlack(auth()->user()) ->sendToFCM(auth()->user())
新しいテンプレートを作成するには、テンプレート CRUD を使用します。テンプレート キーはすべての通知で使用するため、一意であることを確認してください。
通知を送信するには、次のようなヘルパー SendNotification::class を使用する必要があります。
SendNotification::make($template->プロバイダー) ->テンプレート($template->キー) ->findTitle($matchesTitle) ->replaceTitle($titleFill) ->findBody($matchesBody) ->replaceBody($titleBody) ->モデル(ユーザー::クラス) ->id(ユーザー::first()->id) ->プライバシー('プライベート') ->fire();
$template
キーによってテンプレートから選択され、$matchesTitle と $matchesBody はテンプレートを置き換える一致の配列、$titleFill と $titleBody は一致を置き換える値の配列です。
次のような複数の通知チャネルを使用できます
電子メール
SMS
FCM
リバーブ
データベース
スラック
不和
次のような直接ユーザーメソッドで動作する可能性があります
$user->notifySMSMisr(string $message);$user->notifyEmail(string $message, ?string $subject = null, ?string $url = null);$user->notifyFCMSDK(string $message, string $type= 'web'、?string $title=null、?string $url=null、?string $image=null、?string $icon=null、?array $data=[]);$user->notifyDB(string $message, ?string $title=null, ?string $url =null);$user->notifySlack(string $title,string $message=null,?string $url=null, ?string $image=null, ?string $webhook=null);$user->notifyDiscord(string $title,string $message=null,?string $url=null, ?string $image=null, ?string $webhook=null);
FCM 通知を機能させるには、Filament Settings Hub をインストールし、プラグインで設定ハブの使用を許可する必要があります。
->プラグイン(TomatoPHPFilamentAlertsFilamentAlertsPlugin::make() ->useSettingsHub() ->FCM()を使用 )
このコマンドを使用してfilament-fcm
パッケージをインストールする必要はありません
作曲家にはトマトphp/filament-fcmが必要です
サービスプロバイダープラグインを追加します
->プラグイン(TomatoPHPFilamentFcmFilamentFcmPlugin::make())
今、設定を更新する必要があります
# Firebase プロジェクトFIREBASE_API_KEY=FIREBASE_AUTH_DOMAIN=FIREBASE_DATABASE_URL=FIREBASE_PROJECT_ID=FIREBASE_STORAGE_BUCKET=FIREBASE_MESSAGING_SENDER_ID=FIREBASE_APP_ID=FIREBASE_MEASUREMENT_ID=# Firebase クラウド メッセージングFIREBASE_VAPID=# Firebase アラートサウンドFCM_ALERT_SOUND=
このコマンドを実行するよりも
php 職人フィラメント-fcm:インストール
バックグラウンドで通知を機能させるための FCM ワーカーが生成されます。
サイドバーから通知リソースを非表示にするには、次のようなプラグインメソッドhideNotificationsResources
を使用できます。
->プラグイン(TomatoPHPFilamentAlertsFilamentAlertsPlugin::make() ->hideNotificationsResources() )
Slack ドライバーを使用するには、設定ハブで Slack Webhook を設定し、プラグイン メソッドuseSlack
使用する必要があります。
->プラグイン(TomatoPHPFilamentAlertsFilamentAlertsPlugin::make() ->Slack()を使用 )
.env
ファイルに、Webhook URL を含むSLACK_WEBHOOK
キーを追加します。
discord ドライバーを使用するには、設定ハブで discord webhook を設定し、プラグイン メソッドuseDiscord
使用する必要があります。
->プラグイン(TomatoPHPFilamentAlertsFilamentAlertsPlugin::make() ->useDiscord() )
.env
ファイルに、Webhook URL を含むDISCORD_WEBHOOK
キーを追加します。
通知を取得し、いくつかのアクションを実行するための API をサポートしています。API api/notifications
ルートで見つけることができます。
次のようなプラグインメソッドapiModel
使用してユーザーモデルを変更できます
->プラグイン(TomatoPHPFilamentAlertsFilamentAlertsPlugin::make() ->apiModel(ユーザー::クラス) )
このコマンドを使用して構成ファイルを公開できます
php 職人ベンダー:publish --tag="filament-alerts-config"
このコマンドを使用してビューファイルを公開できます
php 職人ベンダー:publish --tag="filament-alerts-views"
このコマンドを使用して言語ファイルを公開できます
php 職人ベンダー:publish --tag="filament-alerts-lang"
このコマンドを使用して移行ファイルを公開できます
php 職人ベンダー:publish --tag="filament-alerts-migrations"
素晴らしい TomatoPHP をチェックしてください