En este momento estás viendo Integración de Notificaciones de Firebase en Odoo

Integración de Notificaciones de Firebase en Odoo

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.