OneSignal vs. Pushwoosh vs. Firebase Cloud Messaging: cómo elegir el push para una app web empaquetada
Las notificaciones push son la función nativa que los revisores notan primero y la que los usuarios conservan más tiempo. WebViewGold admite OneSignal, Pushwoosh y Firebase Cloud Messaging con un interruptor de configuración cada uno, además de notificaciones locales que no necesitan ningún servicio. Así se diferencian y así sabrás cuál encaja con una app hecha con vibe coding.
Desde $109 de pago único por plataforma, o deja que nuestro equipo lo haga todo desde $698.
Garantía de aprobación – o te devolvemos el dinero en 14 días
Sin programar
Pago único, actualizaciones gratuitas
Soporte humano 24/7
Hecho en Alemania desde 2014 · ISO 27001
9:41
Tu app
Tu appYa en tu bolsillo
App Store · Google Play Aprobada
La comparativa
OneSignal
Pushwoosh
Firebase Cloud Messaging
Panel
Panel de campañas completo: segmentos, plantillas, programación, journeys, pruebas A/B
Panel orientado al marketing con segmentos, etiquetas y automatización
Compositor de campañas básico en la consola de Firebase; temas y audiencias de Analytics para segmentar
Envío desde código
API REST, por ID de suscripción o por tu ID de usuario externo
API REST
Admin SDK desde Cloud Functions o tu servidor, por token o por tema
Interruptor en Config.swift
oneSignalID + kPushEnabled
kPushwooshEnable + Pushwoosh_APPID en Info.plist
kFirebasePushEnabled + GoogleService-Info.plist
Interruptor en Config.java
PUSH_ENABLED + IDs en build.gradle
PUSHWOOSH_ENABLED + IDs en strings.xml y AndroidManifest.xml
FIREBASE_PUSH_ENABLED + google-services.json
ID por usuario en la app web
getonesignalplayerid:// → onesignalplayerid, o ?onesignal_push_id= en la primera petición mediante kPushEnhanceUrl
getpushwooshid:// → pushwooshplayerid, o ?pushwoosh_id= mediante kPushwooshEnhanceUrl
getfirebaseplayerid:// → firebaseplayerid, o ?firebase_push_id= mediante kFirebaseEnhanceUrl; firebaseTopic opcional
Deep link al tocar
Campo de datos adicionales "url" (no el campo Launch URL)
Datos personalizados en el mensaje
Clave de datos personalizados "url"
Certificados de Apple
Sube una clave de APNs (.p8) en el panel de OneSignal
Importación de certificado o clave en Pushwoosh
Clave de APNs subida al proyecto de Firebase
Coste
Plan gratuito con límites y planes de pago por encima
Prueba gratuita; los usuarios de WebViewGold tienen dos meses gratis
Enviar es gratis; solo pagas tu propio servidor o las Cloud Functions
Ideal para
Equipos de marketing que quieren segmentos y plantillas sin código
Equipos que quieren automatización de marketing y mensajería multicanal
Apps que ya están en Firebase y envían de forma programática
Esfuerzo de configuración en WebViewGold
OneSignal: unos 30 minutos
Crea la app de OneSignal, añade la clave de APNs para iOS y las credenciales de Firebase para Android, pega el App ID en oneSignalID (Config.swift) y en la configuración de compilación de Android, activa las opciones y vuelve a compilar. La documentación de push para iOS y la documentación de push para Android tienen capturas.
Pushwoosh: unos 30 minutos
Crea la aplicación de Pushwoosh, importa el certificado o la clave de iOS y las credenciales de Android, define el ID de la aplicación en Info.plist y en strings.xml y AndroidManifest.xml, activa los interruptores y vuelve a compilar.
Firebase: de 30 a 45 minutos
Registra el bundle ID y el nombre del paquete en tu proyecto de Firebase, descarga los dos archivos de configuración en los proyectos, sube una clave de APNs en Cloud Messaging y activa los interruptores. Los registros de Firebase son permanentes, así que decide primero el bundle ID.
Push local: sin configuración
Se programa desde JavaScript mientras la app está abierta y el dispositivo lo entrega más tarde. Sin cuenta, sin claves, sin servidor.
Envíos a un usuario concreto: guarda el ID de suscripción
Los paneles envían a todos o a segmentos. Para avisar a un usuario concreto ("tu pedido ha salido"), guarda el ID de suscripción del dispositivo junto al usuario en tu base de datos. El mismo patrón funciona con los tres proveedores; aquí se muestra con OneSignal.
javascript
const inApp = /WebViewGoldApp/.test(navigator.userAgent);
async function savePushId(userId) {
if (!inApp) return;
window.location.href = "getonesignalplayerid://"; // WebViewGold define window.onesignalplayerid
await new Promise(r => setTimeout(r, 800));
const pushId = window.onesignalplayerid; // Firebase: window.firebaseplayerid, Pushwoosh: window.pushwooshplayerid
if (!pushId) return;
await fetch("/api/me/push-id", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify({ userId, pushId }) });
}
// Después envía desde tu backend: API REST de OneSignal con include_subscription_ids: [pushId]
// Consejo: pon autoInjectVariable (iOS) / AUTO_INJECT_VARIABLES (Android) en true y las variables existen sin la llamada.
¡Estoy muy feliz de haber comprado esta aplicación! Documentación extremadamente fácil y excelente. Estaba en contacto con el servicio al cliente, respondieron muy rápido y de forma muy amigable. Resolvieron mi pregunta en un día. 10/10 lo recomendaría".
WebViewGold puede programar desde JavaScript una notificación que salta después de cerrar la app: sendlocalpushmsg://push.send?s=SECONDS=msg!MESSAGE&!#TITLE&!#URL, donde la URL se abre cuando el usuario toca la notificación, y sendlocalpushmsg://push.send.cancel borra todo lo programado. Cubre recordatorios ("tu sesión empieza en 2 horas"), avisos para mantener rachas y carritos abandonados sin backend. Sus límites son la otra cara: no se puede enviar nada desde tu servidor, no hay segmentación ni estadísticas de entrega. Muchas apps empiezan con push local para los recordatorios y añaden un proveedor cuando necesitan campañas.
Con independencia del proveedor, controla cuándo aparece el diálogo de permiso. Pon askforpushpermissionatfirstrun en false en Config.swift y lanza registerpush:// desde tu app web después del registro o cuando el usuario active un ajuste de notificaciones. Un permiso solicitado en un momento de valor se concede mucho más a menudo que en un primer arranque en frío.
¿Cuál elegir?
Una decisión en cuatro preguntas.
¿Solo necesitas recordatorios que programa la propia app?
Push local. Añade un proveedor más adelante si las campañas pasan a ser relevantes.
¿Tu backend es Firebase (Firebase Studio, Softgen, Databutton)?
FCM. Ya tienes Cloud Functions y el Admin SDK; un archivo de configuración más y listo. Añade OneSignal solo si personas que no programan necesitan un panel de campañas.
¿Tu backend es Supabase o una API propia y alguien enviará campañas a mano?
OneSignal o Pushwoosh. Ambos dan a los equipos de marketing un panel, y una edge function puede llamar a sus APIs REST para los mensajes transaccionales.
¿Quieres automatización de marketing entre push, correo y mensajes dentro de la app?
Pushwoosh está construido en torno a eso; OneSignal también lo cubre. Compara los planes actuales en sus sitios web; los precios y los límites cambian.
Errores de push que cuestan reseñas y usuarios
Pedir permiso en el primer arranque, antes de que el usuario haya visto ningún valor. Pídelo tras el registro o cuando se active un ajuste de notificaciones.
Enviar push de marketing a usuarios que solo aceptaron notificaciones transaccionales. La Directriz 4.5.4 de Apple exige consentimiento para el push de marketing y una opción para darse de baja.
Poner el deep link en el campo Launch URL de OneSignal: WebViewGold lo espera en el campo de datos adicionales "url".
Cambiar el bundle ID sin actualizar el target OneSignalNotificationServiceExtension; su identificador debe mantener el bundle ID principal como prefijo.
No enviar nada en las primeras semanas. Los usuarios que concedieron el permiso esperan un motivo.
Olvidarte de Android 13 y posteriores: el sistema pide el permiso de notificaciones en tiempo de ejecución, así que el consejo sobre el momento también se aplica ahí.
Preguntas frecuentes
¿Puedo cambiar de proveedor más adelante?
Sí, con una actualización en la tienda. Los usuarios existentes se registran con el nuevo proveedor cuando abren la app actualizada; los segmentos y el historial del panel antiguo no se transfieren.
¿Necesito un Mac para configurar el push?
No. La clave de APNs se crea en el portal de Apple Developer desde el navegador, y el Cloud Builder o Xcode se encargan de la firma. OneSignal, Pushwoosh y Firebase aceptan la clave .p8.
¿El push funciona en TestFlight y en los canales de pruebas de Play?
Sí. Las compilaciones de prueba reciben notificaciones igual que las de producción, y es el momento adecuado para probar cuándo se pide el permiso y los deep links.
¿Puedo enviar push desde Lovable o Supabase?
Desde una edge function de Supabase o cualquier servidor: llama a la API REST del proveedor con los IDs de suscripción que guardaste para cada usuario.
¿Es lo mismo que el web push de una PWA?
No. En iOS, el web push solo funciona en sitios añadidos a la pantalla de inicio y tiene sus propios límites. El push nativo a través de WebViewGold llega a todas las instalaciones de la app de la tienda.
Tres formas de llevar tu app a las tiendas
El mismo resultado, con distinta cantidad de trabajo por tu parte. Las tres incluyen la garantía de aprobación y soporte humano 24/7.
Hazlo tú mismo
$109 por plataforma, pago único
La licencia de WebViewGold: un proyecto de Xcode o Android Studio listo para usar. Pega tu URL, define nombre e icono, activa funciones, compila y envía. Actualizaciones gratuitas para siempre.
Sin Mac, sin Xcode, sin Android Studio: configura en el navegador, compilamos ambas apps en la nube y las entregamos a App Store Connect y a Play Console.
Envíanos tu URL y tu icono. Nuestro equipo configura, compila y entrega tu app en 72 horas, en marca blanca y con los proyectos fuente. Ambas plataformas por $1,158.
Los reembolsos se conceden bajo las condiciones indicadas en nuestras FAQ: un rechazo por motivos ajenos al contenido por parte de Apple y/o Google, reclamado dentro de los 14 días posteriores a la compra.