Laravel

Com crear notificacions amb Laravel?

Algunos proyectos web requieren notificaciones tanto para los usuarios como para los administradores. Hoy os explicamos cómo crearlas con el framework Laravel.

Drauta agencia digitalDrauta

Com crear notificacions amb Laravel?

Com podem utilitzar les notificacions a Laravel?

A vegades necessitem enviar una notificació a un client des de la nostra aplicació creada amb Laravel. Posem com a exemple una botiga on acabem de tenir una comanda important, potser al venedor li agradarà saber que la seva jornada de feina ha merescut la pena, així que li enviem un correu electrònic.

Si teniem la app a Laravel 5.2 i ja complia aquesta funcionalitat utilitzant un event al Listener tenim alguna cosa semblant a això:

Mail::send('emails.compraImportant', ['user' => $user, 'import' => $import], function ($m) use ($user) {

    $m->from('hello@app.com', 'Compra important');

    $m->to($user->email, $user->name)->subject('Your Reminder!');

});

Això funciona correctament, però el nostre client vol alguna cosa diferent, vol un avís al telèfon i a la vegada no vol configurar el seu email. Així que li proposem rebre la notificació a través de Telegram. Actualitzem l'app a Laravel 5.3, on ens trobem amb una petita maravella: Notificacions. Creem el bot, posem el token a .env i descarreguem laravel-notification-channels/telegram.

Ho configurem i al seu usuari li afegim un camp amb el seu usuari de Telegram i creem una Notificació a la que afegirem la següent funció:

public function toTelegram($post)

{

    return TelegramMessage::create()

        ->to($this->notifiable->telegram)

        ->content('Ha arribat un nou pagament');

}

Una vegada fet tot això canviem el Mail::send(...) d'abans per:

$user->notify(new PagamentNotification($import))

I el millor de tot és que si a la notificació mantenim 'mail' a part de 'telegram' s'enviarà als dos llocs, així que amb menys codi fem més coses, i ja tindrem la notificació muntada per poder enviar-la a més canals.

També podem crear una notificació d'avís per a noves publicacions al blog i podem enviar-lo directament a Facebook, Twitter, un bot de Telegram i a la llista de subscrits per email. I tot això configurant-lo una vegada i utilitzant-lo a qualsevol lloc amb una sola línia.

A més a més, quan l'app no funciona al Handler d'errors podem provar d'enviar-nos a nosaltres una notificació a Slack i així solucionar-lo abans que el client pateixi les conseqüències.

Les possibilitats són múltiples. A destacar la posatl que es va enviar a casa Taylor Otwell durant la presentació d'aquest paquet.

Vols començar un nou projecte amb nosaltres?

Necessites un servei per a la teva web? Descobreix com et podem ajudar i no dubtis en contactar amb nosaltres.