Desarrollo de Aplicaciones

¿Cómo crear notificaciones con Laravel?

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

¿Cómo crear notificaciones con Laravel?

¿Cómo podemos utilizar las notificaciones en Laravel?

A veces necesitamos enviar una notificación a un cliente desde nuestra aplicación creada con Laravel. Pongamos de ejemplo una tienda en la que acabamos de tener una compra importante, quizás al vendedor le gustará saber que su jornada de trabajo ha merecido la pena, así que le mandamos un correo electrónico.

Si teníamos la app en Laravel 5.2 y ya cumplía esta funcionalidad utilizando un evento en el Listener teníamos algo así:

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

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

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

});

Esto funciona perfectamente, pero nuestro cliente quiere algo distinto, quiere un aviso en el teléfono y a la vez no quiere configurar su email. Así que le proponemos recibir la notificación a través de Telegram. Actualizamos la app a Laravel 5.3, donde nos encontramos con una pequeña maravilla: Notificaciones. Le creamos el bot, ponemos el token en el .env y nos bajamos laravel-notification-channels/telegram.

Lo configuramos y a su usuario le añadimos un campo con su usuario de Telegram y creamos una Notificación a la que añadiremos la siguiente función:

public function toTelegram($post)

{

    return TelegramMessage::create()

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

        ->content('Te ha llegado un pago nuevo');

}

Una vez hecho todo esto cambiamos el Mail::send(...) de antes por:

$user->notify(new PagoNotification($importe))

Y lo mejor de todo es que si en la Notificación mantenemos 'mail' aparte de 'telegram' se enviará a los dos sitios, así que con menos código hacemos más cosas, y ya tendremos la notificación montada para poder enviarla a más canales. 

También podemos crear una notificación de aviso para nuevas publicaciones en el blog y podemos enviarlo directamente a Facebook, Twitter, un bot de Telegram y a la lista de suscritos por email. Y todo esto configurándolo una vez y usándolo en cualquier sitio con una sola línea.

Además, cuando la app no funciona en el Handler de errores podemos probar de enviarnos a nosotros una notificación a Slack y así solucionarlo antes de que el cliente se percate.

Las posibilidades son múltiples. A destacar la postal que se mandó a casa Taylor Otwell durante la presentación de este paquete.

Comparte este artículo

Artículos Relacionados