Übersicht
Mit dem LineChannel können Sie Nachrichten aus Laravel Notifications an LINE senden.
Mit der Einstellung von LINE Notify wurde auch die Unterstützung für LINE Notify beendet. Da Benachrichtigungen nun über die Messaging API erfolgen, gelten je nach Tarif Mengenbeschränkungen. Siehe Preise der Messaging API.
Notification-Klasse
Geben Sie in via() LineChannel::class zurück und definieren Sie die Nachricht in toLine().
use Illuminate\Notifications\Notification;
use Revolution\Line\Notifications\LineChannel;
use Revolution\Line\Notifications\LineMessage;
class TestNotification extends Notification
{
public function via(object $notifiable): array
{
return [
LineChannel::class,
];
}
public function toLine(object $notifiable): LineMessage
{
return LineMessage::create(text: 'test');
}
}
Versandmuster
On-Demand-Benachrichtigungen
Wenn Sie Benachrichtigungen senden möchten, ohne sie an ein Benutzermodell zu binden, verwenden Sie Notification::route(). Empfänger ist entweder eine userId oder eine groupId.
use Illuminate\Support\Facades\Notification;
Notification::route('line', 'to')
->notify(new TestNotification());
Benachrichtigung vom User-Modell aus
Wenn Sie den Empfänger pro User verwalten möchten, definieren Sie routeNotificationForLine().
use Illuminate\Notifications\Notifiable;
class User extends Model
{
use Notifiable;
public function routeNotificationForLine($notification): string
{
return $this->line_id;
}
}
$user->notify(new TestNotification());
userId und groupId können Sie aus Webhook-Ereignissen wie FollowEvent oder JoinEvent erhalten.
Nachrichtentypen
Text
Sie können bis zu 5 Nachrichten senden.
use Revolution\Line\Notifications\LineMessage;
public function toLine(object $notifiable): LineMessage
{
return LineMessage::create()
->text('text 1')
->text('text 2');
}
Absendernamen und Icon anpassen
withSender() muss vor den Nachrichten-Hinzufüge-Methoden aufgerufen werden.
use Revolution\Line\Notifications\LineMessage;
public function toLine(object $notifiable): LineMessage
{
return LineMessage::create()
->withSender(name: 'alt-name', icon: 'https://...png')
->text('text 1')
->text('text 2');
}
Sie können den Namen und das Icon auch als Parameter von create() angeben.
use Revolution\Line\Notifications\LineMessage;
public function toLine(object $notifiable): LineMessage
{
return LineMessage::create(text: 'test', name: 'alt-name', icon: 'https://...png');
}
Sticker
Die verwendbaren Sticker finden Sie in der Sticker list.
use Revolution\Line\Notifications\LineMessage;
public function toLine(object $notifiable): LineMessage
{
return LineMessage::create()
->text('test')
->sticker(package: 446, sticker: 1988);
}
Bilder
Geben Sie eine öffentliche URL an.
use Revolution\Line\Notifications\LineMessage;
public function toLine(object $notifiable): LineMessage
{
return LineMessage::create()
->image(original: 'https://.../test.png', preview: 'https://.../preview.png');
}
Videos
Geben Sie eine öffentliche URL an.
use Revolution\Line\Notifications\LineMessage;
public function toLine(object $notifiable): LineMessage
{
return LineMessage::create()
->video(original: 'https://.../test.mp4', preview: 'https://.../preview.png');
}
Weitere Nachrichtentypen
Mit message() können Sie beliebige Nachrichtentypen hinzufügen. Geben Sie den Typ über setType() an.
use LINE\Clients\MessagingApi\Model\LocationMessage;
use LINE\Constants\MessageType;
use Revolution\Line\Notifications\LineMessage;
public function toLine(object $notifiable): LineMessage
{
$location = (new LocationMessage())
->setType(MessageType::LOCATION)
->setTitle('title')
->setAddress('address')
->setLatitude(0.0)
->setLongitude(0.0);
return LineMessage::create()
->message($location);
}
Zuletzt geändert am 13. Juli 2026