Introducción:
Las notificaciones push son una forma efectiva de mantener a los usuarios informados y comprometidos con una aplicación. Firebase Cloud Messaging (FCM) de Google ofrece una solución poderosa y fácil de usar para enviar notificaciones a dispositivos móviles. En este blog, aprenderás cómo integrar las notificaciones de Firebase en Odoo, un popular sistema de gestión empresarial de código abierto.
Pasos para la Integración:
Paso 1: Configurar Firebase:
El primer paso es configurar tu proyecto en Firebase. Crea una cuenta en Firebase (https://console.firebase.google.com/) y configura un proyecto. Habilita el servicio de Cloud Messaging y descarga el archivo de configuración de tu aplicación de Android.
Paso 2: Crear un Módulo Personalizado en Odoo:
En Odoo, crea un nuevo módulo personalizado para manejar la integración de Firebase. Este módulo contendrá el código necesario para enviar las notificaciones. Configura el archivo __manifest__.py
y crea un archivo Python para definir el modelo y los métodos necesarios.
El contenido del archivo __manifest__.py
:
{ 'name': 'Firebase Notifications', 'version': '1.0', 'summary': 'Integrate Firebase Notifications in Odoo', 'description': 'A module to integrate Firebase Cloud Messaging for notifications in Odoo', 'author': 'Your Name', 'category': 'Extra Tools', 'depends': ['base'], 'data': [ 'views/firebase_notification_views.xml', ], 'installable': True, 'application': True, 'auto_install': False, }
Paso 3: Instalar la Biblioteca firebase-admin:
Agrega la biblioteca firebase-admin
a las dependencias de Odoo en el archivo requirements.txt
de tu módulo. Puedes instalarla utilizando el comando pip install firebase-admin
.
Paso 4: Implementar la Lógica de Envío de Notificaciones:
En el archivo Python de tu módulo, importa las bibliotecas necesarias y define un modelo que represente las notificaciones en Odoo. Implementa un método para enviar las notificaciones utilizando la biblioteca firebase-admin
. Configura las credenciales de Firebase y utiliza la función messaging.send()
para enviar las notificaciones.
El contenido del archivo Python:
from odoo import models, fields, api import firebase_admin from firebase_admin import credentials from firebase_admin import messaging class FirebaseNotification(models.Model): _name = 'firebase.notification' _description = 'Firebase Notification' title = fields.Char('Title') body = fields.Text('Body') recipient = fields.Char('Recipient') def send_notification(self): cred = credentials.Certificate('ruta_a_tus_credenciales.json') firebase_admin.initialize_app(cred) message = messaging.Message( notification=messaging.Notification( title=self.title, body=self.body, ), token=self.recipient, ) response = messaging.send(message) return True
Paso 5: Crear una Interfaz en Odoo:
Crea una interfaz en Odoo para permitir a los usuarios ingresar los detalles de la notificación, como el título, el cuerpo y el destinatario. Utiliza las vistas de Odoo para crear una interfaz fácil de usar y agrega un botón para enviar la notificación.
El contenido del archivo
views/firebase_notification_views.xml
:
<odoo> <data> <record id="view_firebase_notification_form" model="ir.ui.view"> <field name="name">firebase.notification.form</field> <field name="model">firebase.notification</field> <field name="arch" type="xml"> <form string="Firebase Notification"> <sheet> <group> <field name="title"/> <field name="body"/> <field name="recipient"/> </group> <footer> <button string="Send Notification" type="object" name="send_notification"/> </footer> </sheet> </form> </field> </record> </data> </odoo>
Paso 6: Probar la Integración:
Prueba la integración enviando una notificación desde Odoo. Verifica que la notificación se haya enviado correctamente a través de Firebase Cloud Messaging y que se reciba en los dispositivos móviles de los destinatarios.