Implementé un chat simple usando la API de conversaciones de Twilio. Estoy siguiendo el documento para notificaciones web push ( https://www.twilio.com/docs/conversations/javascript/push-notifications-web ) y no me queda claro qué "FCM SECRET" debo incluir en mi Credencial Twilio. Lo intenté con mi par de claves de la aplicación de Firebase (pública y privada) y también con la clave de la API web de Firebase, pero en los registros de Twilio siempre aparece un GCM/FCM unauthorized error: GCM/FCM API key is revoked or invalid .
Actualizar:
Mi código de aplicación:
import { initializeApp } from "https://www.gstatic.com/firebasejs/9.8.2/firebase-app.js"; import { getMessaging, getToken, onMessage } from "https://www.gstatic.com/firebasejs/9.8.2/firebase-messaging.js"; const firebaseConfig = { apiKey: "...", authDomain: "...", projectId: "...", storageBucket: "...", messagingSenderId: "...", appId: "..." }; const firebase = initializeApp(firebaseConfig); const messaging = getMessaging(firebase); const serviceWorkerRegistration = await navigator .serviceWorker .register('/js/firebase/firebase-messaging-sw.js'); if (firebase && messaging) { // getting FCM token getToken(messaging, { vapidKey: '...', serviceWorkerRegistration: serviceWorkerRegistration, }).then(async (fcmToken) => { console.log('token', fcmToken) const conversationsClient = await getConversationsClient(); conversationsClient.setPushRegistrationId('fcm', fcmToken); onMessage(messaging, payload => { console.log('Message received. ', payload); conversationsClient.handlePushNotification(payload); }); }).catch((err) => { console.log('Error getting token', err); }); } else { // no Firebase library imported or Firebase library wasn't correctly initialized } El fcmToken se genera y se registra con éxito en Twilio.
El enlace se crea en Twilio con mi credencial a la que se hace referencia:
Creo que el secreto de FCM debería ser la apiKey que obtienes cuando registras la aplicación web y obtienes detalles como este:
También debe asegurarse de que está usando esa configuración cuando inicializa el SDK de Firebase en su aplicación.
Si está usando esa configuración, quizás pueda compartir el código que está usando en su aplicación para inicializar Firebase y solicitar un fcmToken del usuario.