Saltar al contenido principal
Un prompt de permiso push es el diálogo del sistema operativo que pregunta al usuario si tu app puede enviar notificaciones push. Su respuesta determina si puedes entregar notificaciones que aparezcan como banners, se muestren en la pantalla de bloqueo y reproduzcan sonidos.
Prompts de permiso del sistema en iOS y Android, uno al lado del otro

Un dispositivo iOS y un dispositivo Android mostrando el prompt de permiso del sistema.

Trata la solicitud de permiso como una estrategia. El prompt del sistema solo puede mostrarse un número limitado de veces: una vez en iOS y dos veces en Android (Google y Huawei). Si el usuario rechaza todos los intentos, deberá volver a habilitar las notificaciones manualmente en la configuración del sistema. Un prompt mal cronometrado puede costarte un suscriptor de forma permanente, y la audiencia alcanzable es la mayor palanca sobre el ROI de cada campaña push que ejecutas. Tanto Apple como Google recomiendan explicar el valor de tus notificaciones antes de solicitar el permiso. Sin contexto, es más probable que los usuarios rechacen, y en iOS un prompt rechazado no puede volver a mostrarse. Esta guía cubre push de apps móviles. Para web push, consulta Prompts de permiso web push.

Estrategia para una alta tasa de opt-in

Las tasas de opt-in de push dependen mucho más de cuándo y cómo preguntas que de lo que dice el propio prompt del sistema. Las apps que tratan la solicitud como una estrategia superan consistentemente a las que muestran el prompt al primer inicio. Los principios de abajo son los bloques de construcción. La estrategia de ejemplo más adelante muestra cómo combinarlos en un plan concreto.

Principios

  • Pregunta después de un momento de valor. Espera a que el usuario acabe de experimentar algo digno de una notificación: completar el onboarding, guardar un elemento, seguir un tema, hacer un pedido o terminar la primera sesión. Solicitar el permiso en el primer inicio, antes de que el usuario entienda qué hace tu app, es la mayor causa de bajas tasas de opt-in.
  • Empieza con notificaciones provisionales en iOS. Las notificaciones provisionales se entregan silenciosamente al Centro de notificaciones sin ningún prompt, así que los usuarios deciden si conservarlas basándose en contenido real en lugar de una explicación hipotética. En iOS suele ser la ruta con mayor conversión y debería ser tu punto de partida por defecto.
  • Explica el valor con un soft prompt in-app. Un soft prompt es un mensaje in-app de OneSignal que le dice al usuario qué tipo de notificaciones enviarás y por qué son valiosas. Descartar un soft prompt no consume un intento del prompt del sistema, así que puedes volver a preguntar a usuarios que no estaban listos.
  • Vuelve a preguntar a los usuarios que rechazaron el soft prompt, no el del sistema. Configura el soft prompt para que reaparezca con una cadencia (por ejemplo, cada 2 weeks). Los usuarios que no estaban listos tienen otra oportunidad sin agotar el límite del prompt del sistema.
  • Itera sobre el copy y el timing. Publica el soft prompt, observa la conversión en el informe del mensaje y luego ajusta el activador, la redacción y la frecuencia. Pequeños cambios en el timing y el copy suelen mover las tasas de opt-in decenas de puntos porcentuales.

Ejemplo: estrategia de opt-in durante el onboarding

Este ejemplo combina notificaciones provisionales para alcance inmediato en iOS con un soft prompt en un momento de valor para el opt-in completo. Úsalo como punto de partida y adapta los tipos de notificación y los momentos de valor a tu app. Para apps de Android y Huawei, omite la fase 1 y comienza en la fase 2. Fase 1: Alcance silencioso en iOS
  1. Activa la autorización provisional en el panel de OneSignal en Settings > Apple iOS > Advanced Configuration > Enable iOS 12 direct to history.
  2. Envía de 2 a 3 notificaciones de alta calidad durante la primera semana del usuario. Elige contenido que demuestre el valor de suscribirse: una recomendación personalizada, una alerta de noticias de última hora o un resumen semanal. Los usuarios las reciben silenciosamente en el Centro de notificaciones sin ningún prompt.
Fase 2: Convertir en un momento de valor
  1. En Messages > In-App, crea un soft prompt que haga referencia al valor que el usuario ya ha experimentado. Ejemplo de titular: “Recibe alertas de noticias de última hora en tu pantalla de bloqueo.”
  2. Establece la audiencia en Show to all users. La acción de clic Push Permission Prompt filtra automáticamente a los usuarios no suscritos.
  3. Activa el mensaje ante un evento de alta señal: abrir una notificación provisional o actuar sobre ella, seguir un tema, agregar un artículo al carrito o llevar 5 minutos de tiempo de sesión.
  4. Añade una acción de clic Push Permission Prompt al botón de CTA.
  5. Configura la programación como Multiple times con un máximo por usuario de 20 y un intervalo entre visualizaciones de 2 weeks (unos 10 meses de reintentos).
Fase 3: Medir e iterar
  1. Al cabo de 1 a 2 semanas, revisa el informe del mensaje para ver la conversión de prompt a opt-in.
  2. Instrumenta el embudo completo con los listeners del SDK: clics en el soft prompt, descartes y el resultado del prompt del sistema. Reenvía los eventos a tu herramienta de analíticas.
  3. Ajusta una variable a la vez (evento activador, titular, copy del CTA o intervalo entre visualizaciones) en función de los números.
Activa el soft prompt justo después de que un usuario abra o actúe sobre una notificación provisional. Ya ha visto el valor de tus notificaciones, lo que aumenta significativamente la tasa de “Allow” en el prompt del sistema.

Elige un enfoque

Tienes tres formas de hacer crecer tu base de suscriptores push con OneSignal. La mayoría de las apps de iOS deberían combinar notificaciones provisionales con un soft prompt in-app; la mayoría de las apps de Android deberían empezar con el soft prompt. Los tres enfoques pueden combinarse. Un patrón habitual y de alto rendimiento en iOS es activar las provisionales para lograr alcance silencioso inmediato, mostrar un soft prompt en un momento de valor y exponer un prompt programático desde un centro de preferencias para los usuarios que quieran suscribirse bajo demanda.
Mensaje in-app que lleva al prompt de permiso push del sistema

Un soft prompt in-app seguido del prompt de permiso del sistema.


Requisitos previos


Configurar un prompt de permiso push in-app

1

Elimina cualquier prompt de permiso automático

Antes de comenzar, asegúrate de que tu app no esté ya activando el prompt de permiso del sistema automáticamente:
  • Elimina cualquier llamada a requestPermission() u optIn() que se invoque al iniciar la app.
  • Elimina las llamadas nativas de iOS a requestAuthorizationWithOptions y cualquier código que genere tokens push directamente.
  • Elimina las llamadas de Android a requestPermissions y cualquier código que genere tokens push directamente.
2

Crea o edita el mensaje in-app

Ve a Messages > In-App y luego:
  • Edita la plantilla predeterminada Push Permission Prompt, o
  • Haz clic en New Message para crear el tuyo.
Lista de mensajes in-app de OneSignal mostrando la plantilla Push Permission Prompt

Edita la plantilla predeterminada Push Permission Prompt o crea la tuya.

Establece la audiencia como Show to all users. OneSignal filtra automáticamente este mensaje para que solo lo vean los usuarios que aún no se han suscrito a push, en función de la acción de clic Push Permission Prompt.
Ajuste de audiencia configurado para mostrar a todos los usuarios

Establece la audiencia en 'Show to all users'. La acción de clic Push Permission Prompt filtra automáticamente a los usuarios no suscritos.

3

Personaliza el diseño del mensaje

Personaliza la apariencia, la sensación y la redacción para que encajen con tu app. Dile al usuario qué tipo de notificaciones va a recibir y por qué son valiosas.Consulta Diseñar mensajes in-app con arrastrar y soltar o Diseñar mensajes in-app con HTML para más detalles.
Editor de bloques de mensaje in-app con un prompt de opt-in push

El editor de bloques de mensajes in-app para crear mensajes de opt-in push.

4

Añade la acción de clic Push Permission Prompt

Añade una acción de clic Push Permission Prompt a cualquier botón o imagen de tu mensaje. Cuando se toca, aparece el prompt de permiso del sistema.
Desplegable de acción de clic con Push Permission Prompt seleccionado

Añadiendo una acción de clic Push Permission Prompt a un botón.

Prompt nativo de permiso de notificaciones push en iOS

El prompt de permiso del sistema activado por la acción de clic en iOS.

Si el usuario ya ha rechazado el prompt de permiso del sistema el número máximo de veces (una vez en iOS, dos en Android), la acción de clic lo enviará en su lugar a la configuración de notificaciones de tu app. Esto equivale a llamar a requestPermission(fallbackToSettings: true) desde el SDK.
Los mensajes in-app con una acción de clic Push Permission Prompt no se muestran a los usuarios que ya han permitido las notificaciones.
5

Elige un activador

La audiencia controla quién es elegible para ver el mensaje. Los activadores controlan cuándo aparece. Intenta activar el prompt en un momento de valor: un punto en el que el usuario acaba de experimentar algo digno de una notificación.
Panel de configuración de activadores del mensaje in-app

Opciones de activador para controlar cuándo se muestra el mensaje.

Opciones de activación, ordenadas aproximadamente de menor a mayor conversión:
  • Al abrir la app. Sencillo, pero rara vez óptimo. Úsalo solo si el valor de la app resulta evidente en pocos segundos.
  • Después de una cantidad fija de tiempo de sesión. Un buen valor por defecto. Espera a que el usuario haya explorado la app antes de preguntar.
  • Ante un evento de usuario específico. El mejor para la conversión. Actívalo tras acciones de alta señal como completar el onboarding, guardar un elemento, seguir un tema o terminar la primera compra.
  • Programáticamente, usando los métodos del SDK para activar mensajes in-app. Control total sobre el momento y el contexto, incluyendo la combinación de varias señales antes de solicitar el permiso.
Por ejemplo, para esperar a que el usuario haya pasado al menos 5 minutos en la app:
Activador de duración de sesión establecido en 5 minutos

Activador configurado para mostrar el mensaje tras 5 minutos de tiempo de sesión.

6

Programación y frecuencia

Controla con qué frecuencia aparece el mensaje:
  • Only once. Baja probabilidad de convertir a los usuarios que no estaban listos la primera vez.
  • Every time conditions are met. Demasiado agresivo y puede llegar a molestar a los usuarios.
  • Multiple times (recomendado). Establece un máximo por usuario con un intervalo entre visualizaciones. Por ejemplo, 20 visualizaciones con un intervalo de 2 weeks reintentan con los usuarios no suscritos durante unos 10 meses a una cadencia agresiva. Relaja el intervalo (por ejemplo, 30 days o 60 days) en apps de menor engagement o de utilidad donde una cadencia de 2 semanas resulte insistente.
Configuración de programación mostrando máximo de visualizaciones e intervalo entre vistas

Ajustes de programación y frecuencia para el mensaje in-app.


Mostrar el prompt de permiso programáticamente

Puedes activar el prompt de permiso del sistema manualmente usando los métodos del SDK requestPermission() u optIn(). Esto es útil para flujos personalizados como: Pasa fallbackToSettings: true a requestPermission() para que los usuarios que ya han rechazado el permiso sean redirigidos a la configuración de notificaciones de la app en lugar de que no ocurra nada.
Si una suscripción se ha marcado como opt-out a nivel de SDK mediante optOut() (se muestra como notification_types: -2 en el registro de suscripción), llamar solo a requestPermission() no cambiará el estado de la suscripción. Usa optIn() en su lugar: solicita el permiso y limpia el estado de opt-out.

Usar notificaciones provisionales de iOS

Las notificaciones push provisionales se introdujeron en iOS 12. Te permiten entregar notificaciones al Centro de notificaciones sin mostrar un prompt de permiso. Los usuarios ven contenido real de tu app y deciden si quieren mantener, silenciar o desactivar las notificaciones a partir de esa experiencia. Por qué funciona como estrategia:
  • No hay un prompt del sistema que pueda fallar. Puedes empezar a llegar a los usuarios en su primera sesión sin ninguna decisión de opt-in previa.
  • Los usuarios deciden en base a valor real, no a una explicación hipotética.
  • Aun así puedes mostrar un soft prompt más tarde para convertir a los usuarios provisionales en suscriptores push completos, con banners, sonido y alertas en la pantalla de bloqueo.
Contrapartidas. Las notificaciones provisionales tienen visibilidad reducida. Se entregan silenciosamente solo al Centro de notificaciones: sin banner, sin sonido y sin alerta en la pantalla de bloqueo hasta que el usuario pase al permiso completo.
Notificación push provisional de iOS con opciones Keep y Turn Off

Una notificación provisional que pide al usuario mantener o desactivar las notificaciones.

Para activar la autorización provisional, ve al panel de OneSignal a Settings > Apple iOS > Advanced Configuration y marca Enable iOS 12 direct to history. Para el recorrido completo, incluyendo cómo interactúan los usuarios con las notificaciones provisionales y cómo se combinan con el prompt estándar, consulta Notificaciones push provisionales de iOS.
Para un plan concreto que combine notificaciones provisionales con un soft prompt en un momento de valor, consulta la estrategia de opt-in de onboarding de ejemplo.

Rastrear permisos push y resultados del prompt

Puedes reenviar estos eventos del SDK a tu backend o a la herramienta de analíticas que prefieras.

FAQ

¿Qué sucede si el usuario rechaza el prompt de permiso del sistema?

En iOS, rechazar el prompt de permiso del sistema deshabilita permanentemente las notificaciones push de tu app. El prompt no puede volver a mostrarse. En Android, el usuario tiene una oportunidad más (dos en total). Después de agotar todos los intentos, el usuario debe volver a habilitar las notificaciones manualmente en Configuración > Notificaciones en su dispositivo. Tanto la acción de clic Push Permission Prompt como requestPermission(fallbackToSettings: true) gestionan esto enviando al usuario directamente a su configuración de notificaciones.

¿Puedo personalizar el prompt de permiso nativo del sistema?

No. El prompt de permiso del sistema en iOS y Android está controlado por el sistema operativo y no puede personalizarse. Solo puedes personalizar el soft prompt (el mensaje in-app que se muestra antes). Usa el soft prompt para explicar el valor de tus notificaciones, establecer expectativas y aumentar la probabilidad de un “Allow” en el prompt del sistema.

¿Puedo seguir solicitando el permiso a usuarios con notificaciones provisionales?

Sí, y deberías hacerlo. Los usuarios provisionales son candidatos ideales para un soft prompt porque ya han visto notificaciones reales de tu app. Consulta Usar notificaciones provisionales de iOS para ver el patrón recomendado. Programa el soft prompt para justo después de que el usuario abra o actúe sobre una notificación provisional.

¿Cómo vuelvo a solicitar el permiso a usuarios que ya rechazaron push?

Una vez agotado el prompt de permiso del sistema (una vez en iOS, dos en Android), no puedes volver a mostrarlo. En su lugar, usa el método del SDK requestPermission(fallbackToSettings: true) o la acción de clic Push Permission Prompt en un mensaje in-app. Ambos abren la configuración de notificaciones de tu app para que el usuario pueda habilitar las notificaciones manualmente. Combínalo con un mensaje in-app que explique por qué las notificaciones son valiosas.

¿Todas las versiones de Android requieren un prompt de permiso del sistema?

No. Solo Android 13 (nivel de API 33) y posteriores. Android 13 introdujo el permiso de notificación en tiempo de ejecución, que requiere el consentimiento explícito del usuario para las notificaciones push. En Android 12 y anteriores, la app recibe el permiso de notificación automáticamente al instalarse.

Notificaciones push provisionales de iOS

Envía notificaciones al Centro de notificaciones sin un prompt de permiso previo en iOS 12+.

Referencia del SDK móvil

APIs de requestPermission, optIn, el observador de permisos y el listener de clics in-app.

Prompts de permiso de web push

Configura soft prompts, slide-downs y solicitudes nativas de permiso de web push.

Configuración de mensajes in-app

Habilita la mensajería in-app en tu app para poder ejecutar soft prompts.