> ## Documentation Index
> Fetch the complete documentation index at: https://documentation.onesignal.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Configuración de push móvil

> Lista de verificación completa para configurar notificaciones push móviles con OneSignal en iOS, Android, Huawei y Amazon.

Las notificaciones push vuelven a involucrar a los Usuarios cuando no están usando activamente tu app. Pueden mostrar texto y contenido enriquecido como imágenes, botones y sonidos.

<Frame caption="Ejemplos de notificaciones push en iOS y Android.">
  <img src="https://mintcdn.com/onesignal/Z6xkXGfmy814If53/images/docs/d6ba464616e546aaf62a5bda18adb4422d036815db4b2454e8a8b6a4dcf67706-channel-setup-mobile-push.jpg?fit=max&auto=format&n=Z6xkXGfmy814If53&q=85&s=63d1840679897262b47a004375a1bb33" alt="Ejemplos de notificaciones push móviles en iOS y Android mostrando contenido enriquecido" width="1280" height="720" data-path="images/docs/d6ba464616e546aaf62a5bda18adb4422d036815db4b2454e8a8b6a4dcf67706-channel-setup-mobile-push.jpg" />
</Frame>

Para que push funcione en móvil:

* Los Usuarios deben tener tu app móvil instalada
* Debes configurar las credenciales de plataforma correctas (FCM para Android, APNs para iOS, HMS para Huawei, ADM para Amazon)
* Los Usuarios deben otorgar permiso para recibir notificaciones

Esta guía recorre cada paso desde la configuración del SDK hasta el envío de mensajes push personalizados.

***

## Configuración del SDK y migración

Integra el SDK de OneSignal en tu app para registrar dispositivos y habilitar mensajería push. Si estás migrando desde otro proveedor, OneSignal admite migración desde Firebase, Airship, Braze y otros.

<Columns cols={2}>
  <Card title="Configuración del SDK móvil" icon="mobile" href="./mobile-sdk-setup">
    Integra el SDK de OneSignal en tu app para registrar dispositivos y habilitar mensajería push.
  </Card>

  <Card title="Migración desde otro proveedor" icon="arrow-right-arrow-left" href="./migrating-to-onesignal">
    Migra desde Firebase, Airship, Braze u otros proveedores de push.
  </Card>
</Columns>

***

## Prompts de permisos push

Las plataformas móviles requieren que los Usuarios opten por recibir notificaciones push antes de poder recibirlas. Las [Directrices de interfaz humana](https://developer.apple.com/design/human-interface-guidelines/ios/system-capabilities/notifications) de Apple recomiendan describir qué tipos de información deseas enviar y dar a los Usuarios una forma clara de optar por participar o no.

Puedes crear un prompt de pre-permiso usando los mensajes in-app de OneSignal para explicar el valor antes de activar el prompt del sistema.

<Frame caption="Prompt de push de pre-permiso personalizado creado con mensajes in-app.">
  <img src="https://mintcdn.com/onesignal/l4Z9oMlZl9nJOS_T/images/push/mobile-push-setup-ask-users-for-permission-to-send-push.jpg?fit=max&auto=format&n=l4Z9oMlZl9nJOS_T&q=85&s=aa31e67179d80c4b99c2d86102091d60" alt="Mensaje in-app de OneSignal usado como prompt de pre-permiso para notificaciones push" width="2136" height="1338" data-path="images/push/mobile-push-setup-ask-users-for-permission-to-send-push.jpg" />
</Frame>

<Columns cols={2}>
  <Card title="Solicitar permisos push" icon="bell" href="./prompt-for-push-permissions">
    Crea un prompt de pre-permiso personalizado usando mensajes in-app.
  </Card>

  <Card title="Referencia del SDK móvil" icon="code" href="./mobile-sdk-reference">
    Activa solicitudes de permiso programáticamente en el SDK.
  </Card>

  <Card title="Push provisional de iOS" icon="apple" href="./ios-provisional-push-notifications">
    Muestra notificaciones silenciosas en el centro de notificaciones antes de solicitar permiso.
  </Card>
</Columns>

***

## Usuarios y Suscripciones

Una vez que el SDK está activo, OneSignal crea automáticamente registros de Usuario y Suscripción a medida que las personas abren tu app.

Las Suscripciones móviles se crean cuando los Usuarios:

* Abren la app por primera vez en un dispositivo
* Desinstalan y reinstalan la app, luego la abren nuevamente

Cada dispositivo crea una Suscripción separada. Las Suscripciones permanecen anónimas hasta que les asignes un [External ID](./users#external-id) mediante `OneSignal.login`.

<Frame caption="Panel de OneSignal: Audience > Users">
  <img src="https://mintcdn.com/onesignal/ciRrThfP6xMpI7GY/images/dashboard/users-page.png?fit=max&auto=format&n=ciRrThfP6xMpI7GY&q=85&s=8992ef97cf3c9f336078f9dbf8a6374e" alt="Página de Usuarios del panel de OneSignal mostrando una lista de Usuarios con detalles de Suscripción" width="2316" height="858" data-path="images/dashboard/users-page.png" />
</Frame>

<Columns cols={2}>
  <Card title="Usuarios" icon="users" href="./users">
    Administra Usuarios, asigna External IDs y comprende los Usuarios anónimos vs. identificados.
  </Card>

  <Card title="Suscripciones" icon="address-book" href="./subscriptions">
    Cómo se crean y administran las Suscripciones en dispositivos y canales.
  </Card>

  <Card title="Segmentos" icon="chart-pie" href="./segmentation">
    Agrupa Usuarios en segmentos dinámicos para mensajería dirigida.
  </Card>
</Columns>

***

## Diseñar notificaciones push

Crear notificaciones push efectivas implica más que escribir texto. Mira cómo hacer que cada notificación push cuente y luego explora los elementos de diseño a continuación.

<Frame caption="Cómo hacer que cada notificación push cuente">
  <iframe width="560" height="315" src="https://www.youtube.com/embed/mlXEsZA2qlM?si=tIstWJYNFOzrtMR5" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen />
</Frame>

<Frame caption="Anatomía de una notificación push móvil en iOS y Android.">
  <img src="https://mintcdn.com/onesignal/l4Z9oMlZl9nJOS_T/images/push/ios-and-android-mobile-push-expanded.jpg?fit=max&auto=format&n=l4Z9oMlZl9nJOS_T&q=85&s=5f0a3048b1b945ce1c960807992e4c74" alt="Diagrama anotado que muestra la anatomía de las notificaciones push de iOS y Android" width="1467" height="726" data-path="images/push/ios-and-android-mobile-push-expanded.jpg" />
</Frame>

1. [Título](./push#title): Encabezado que llama la atención (recomendado: menos de 50 caracteres)
2. [Mensaje](./push#message): Contenido principal de la notificación (recomendado: menos de 120 caracteres)
3. [Iconos](./notification-icons): El icono de tu marca o imagen específica de la notificación
4. [Imagen grande](./push#image): Contenido visual llamativo
5. [Botones de acción](./action-buttons): Botones de llamado a la acción
6. Marca de tiempo cuando se recibió el push
7. [Nombre de la app](./push#app-name): El nombre de tu app

<Columns cols={2}>
  <Card title="Resumen de push" icon="bell" href="./push">
    Resumen completo de creación, opciones y comportamiento de entrega de notificaciones push.
  </Card>

  <Card title="Plantillas" icon="clone" href="./templates">
    Ahorra tiempo con plantillas reutilizables para mensajería consistente.
  </Card>
</Columns>

### Personalización y localización

Mira cómo convertir notificaciones push genéricas en mensajes de alto rendimiento y luego explora las opciones de personalización a continuación.

<Frame caption="Cómo convertir notificaciones push genéricas en mensajes de alto rendimiento">
  <iframe width="560" height="315" src="https://www.youtube.com/embed/Rf6N_rezxuk?si=8t2pd1bxKeN5ofq-" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen />
</Frame>

<Columns cols={2}>
  <Card title="Personalización de mensajes" icon="wand-magic-sparkles" href="./message-personalization">
    Inserta variables dinámicas como nombre o preferencias para adaptar mensajes.
  </Card>

  <Card title="Mensajería multiidioma" icon="language" href="./multi-language-messaging">
    Entrega mensajes automáticamente en el idioma preferido de cada Usuario.
  </Card>
</Columns>

***

## Configurar comportamiento push

Controla cómo se comportan las notificaciones después de la entrega, incluyendo temporización, configuración de visualización e interacciones del Usuario.

### Configuración de entrega, visualización y descarte

<Columns cols={2}>
  <Card title="Limitación" icon="gauge-high" href="./throttling">
    Controla la velocidad de entrega de notificaciones para grandes audiencias.
  </Card>

  <Card title="Límite de frecuencia" icon="hand" href="./frequency-capping">
    Establece límites para prevenir el envío excesivo de notificaciones al mismo Usuario.
  </Card>

  <Card title="Tiempo de vida (TTL)" icon="clock" href="./push#time-to-live-ttl">
    Define cuánto tiempo retienen los servicios push los mensajes cuando el dispositivo está fuera de línea.
  </Card>

  <Card title="Collapse ID" icon="layer-group" href="./push#collapse-id-mobile-push">
    Reemplaza mensajes anteriores con los más nuevos para reducir el desorden de notificaciones.
  </Card>

  <Card title="Categorías de notificaciones de Android" icon="android" href="./android-notification-categories">
    Controla el nivel de importancia (banner, silencioso) y otros aspectos de visualización.
  </Card>

  <Card title="Modos de concentración y niveles de interrupción de iOS" icon="apple" href="./ios-focus-modes-and-interruption-levels">
    Controla el nivel de prioridad (pasivo, sensible al tiempo) para iOS.
  </Card>

  <Card title="Sonidos de notificaciones" icon="volume-high" href="./notification-sounds">
    Configura el audio de notificaciones para cada plataforma.
  </Card>

  <Card title="Insignias" icon="circle-1" href="./badges">
    Administra el comportamiento del conteo de insignias del icono de la app en iOS.
  </Card>
</Columns>

### Notificaciones de datos y en segundo plano

Incluye datos personalizados en los payloads push que tu app puede manejar sin mostrar una notificación visible.

<Columns cols={2}>
  <Card title="Notificaciones de datos y en segundo plano" icon="database" href="./data-notifications">
    Envía payloads personalizados sin una notificación visual.
  </Card>

  <Card title="Datos adicionales" icon="brackets-curly" href="./push#additional-data">
    Adjunta datos clave-valor a los payloads push para manejo in-app.
  </Card>
</Columns>

### Comportamiento de clics y deep linking

Controla qué sucede cuando un Usuario toca una notificación.

<Columns cols={2}>
  <Card title="URLs, enlaces y deep linking" icon="link" href="./links">
    Dirige a los Usuarios a contenido o páginas relevantes usando deep links y URLs de seguimiento.
  </Card>

  <Card title="Deep linking" icon="arrow-up-right-from-square" href="./deep-linking">
    Detalles de implementación de deep linking específicos por plataforma.
  </Card>

  <Card title="Botones de acción" icon="hand-pointer" href="./action-buttons">
    Permite a los Usuarios tomar acciones inmediatas desde tu notificación.
  </Card>

  <Card title="Observadores de eventos de notificación" icon="code" href="./mobile-sdk-reference#push-notification-events">
    Escucha eventos de clic y activa comportamiento in-app con código personalizado.
  </Card>
</Columns>

***

## Análisis y solución de problemas

Mide el rendimiento de las notificaciones y resuelve problemas comunes de entrega.

<Columns cols={2}>
  <Card title="Reportes de mensajes push" icon="chart-line" href="./push-notification-message-reports">
    Visualiza métricas de entrega, tasa de apertura y clics para cada mensaje.
  </Card>

  <Card title="Resumen de análisis" icon="chart-bar" href="./analytics-overview">
    Explora métricas de participación y comportamiento del Usuario en todos los canales.
  </Card>

  <Card title="Notificaciones no mostradas o retrasadas" icon="circle-exclamation" href="./notifications-show-successful-but-are-not-being-shown">
    Lista de verificación de solución de problemas si los mensajes no aparecen en los dispositivos.
  </Card>

  <Card title="Imágenes de notificaciones no se muestran" icon="image" href="./notification-images-not-showing">
    Soluciona problemas de renderizado de imágenes en todas las plataformas.
  </Card>

  <Card title="Notificaciones duplicadas" icon="copy" href="./duplicated-notifications">
    Soluciona por qué se muestran notificaciones duplicadas.
  </Card>
</Columns>

***

## Próximos pasos

<Columns cols={2}>
  <Card title="Pruebas A/B" icon="flask" href="./ab-testing">
    Optimiza mensajes con experimentos para encontrar qué impulsa la participación.
  </Card>

  <Card title="Journeys" icon="route" href="./journeys-overview">
    Construye flujos de mensajería automatizados de múltiples pasos activados por el comportamiento del Usuario.
  </Card>

  <Card title="Tags" icon="tags" href="./add-user-data-tags">
    Agrega datos a nivel de Usuario para personalización y segmentación.
  </Card>

  <Card title="Mensajes in-app" icon="window-maximize" href="./in-app-messages-setup">
    Llega a los Usuarios con mensajes ricos e interactivos dentro de tu app.
  </Card>
</Columns>

***

## Preguntas frecuentes

### ¿Los Usuarios necesitan optar por recibir notificaciones push?

Sí. Tanto iOS como Android requieren que los Usuarios otorguen permiso antes de poder recibir notificaciones push. En iOS, debes mostrar el prompt del sistema. En Android 13+, se requiere el permiso `POST_NOTIFICATIONS`. Usa un [prompt de pre-permiso](./prompt-for-push-permissions) para explicar el valor antes de activar el diálogo del sistema.

### ¿Qué son FCM, APNs, HMS y ADM?

Son servicios de entrega push específicos de cada plataforma. **FCM** (Firebase Cloud Messaging) entrega a Android y web. **APNs** (Apple Push Notification service) entrega a iOS y macOS. **HMS** (Huawei Mobile Services) entrega a dispositivos Huawei. **ADM** (Amazon Device Messaging) entrega a dispositivos Amazon Fire. Configuras las credenciales para cada uno en el panel de OneSignal durante la [configuración del SDK](./mobile-sdk-setup).

### ¿Por qué no se muestran mis notificaciones push?

Las causas comunes incluyen credenciales de plataforma faltantes o vencidas, Usuarios que no otorgaron permiso, o configuraciones a nivel de dispositivo como No molestar o Modos de concentración. Consulta [Notificaciones no mostradas o retrasadas](./notifications-show-successful-but-are-not-being-shown) para una lista de verificación completa de solución de problemas.

### ¿Puedo enviar notificaciones push sin una notificación visible?

Sí. Usa [notificaciones de datos y en segundo plano](./data-notifications) para enviar payloads personalizados que tu app maneja en silencio. Son útiles para activar sincronizaciones en segundo plano, actualizar datos locales o refrescar contenido sin interrumpir al Usuario.
