Laravel - Wie zu verwenden onesignal Benachrichtigung
Habe ich ein back-office entwickelt, laravel, die es ermöglichen, Daten einfügen, dass dann android-und ios-app erhalten.
Jetzt muss ich implementieren, onsignal-Benachrichtigung zum Beispiel, wenn ein neues Produkt eingefügt wurde, im back-office der app erhält der Benutzer eine Benachrichtigung.
Richte ich meine onesignal Benachrichtigung und installieren in meinem laravel-Projekt dieses Paket: https://github.com/laravel-notification-channels/onesignal
.
Ich OneSignal App ID
und REST API Key
zu.
Nach, dass ich einen neuen controller und setzen Sie den Beispiel-code ist im Paket link.
Controller:
use Illuminate\Http\Request;
use NotificationChannels\OneSignal\OneSignalChannel;
use NotificationChannels\OneSignal\OneSignalMessage;
use NotificationChannels\OneSignal\OneSignalWebButton;
use Illuminate\Notifications\Notification;
class NotificationsController extends Controller
{
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('http://laravel.com')
);
}
}
Aber jetzt ich don ' T konw, wie es zu benutzen.
Zum Beispiel, wie kann ich das senden einer Benachrichtigung, wenn ein neues Produkt Hinzugefügt wurde?
Ich brauche, um das setup-Routen?
Lassen Sie mich wissen, wenn nicht gut erklären mein problem.
Danke
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hallo, haben Sie, um eine Benutzerdefinierte Kanal-OneSignal Benachrichtigung, so dass Sie nicht haben zu tun, die auf Ihrem Controller.
1.- Zuerst müssen Sie erstellen eine OneSignal Benachrichtigung für jede "Veranstaltung", die Sie Benachrichtigen möchten,
Beispielsweise, wenn ein Produkt Hinzugefügt wurde
php artisan make:notification ProductAdded
Dies generiert eine Meldung-Datei innerhalb von
App\Notifications\ProductAdded
2.- Auf die neue Datei
ProductAdded
Sie müssen hinzufügen, dass die Logik der Benachrichtigung OneSignal3.- Verwenden Sie die
Notifiable
Eigenschaft in Ihrem ModellNotification
Fassade, wo immer Sie wollen$users
es ist eine Sammlung von Spieler-id ' s$data
es die Daten zum erstellen der MeldungNotification::send($users, new ProductAdded($dataToNotify));
Ich hoffe, das hilft 🙂
Auch Sie können mehr von diesem Zeug auf Laravel Docs
https://laravel.com/docs/5.4/notifications
PD.
Wenn Sie fühlen sich überfordert mit der Meldung system, Sie können auch verwenden Sie dieses Paket https://github.com/berkayk/laravel-onesignal es ist ein einfacher wrapper, die Sie verwenden können, mit Leichtigkeit und hat eine Menge von nützlichen praktischen Methoden.