> ## 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.

# Orientar versiones antiguas de aplicaciones para fomentar actualizaciones

> Usa mensajes en la aplicación para detectar versiones antiguas y solicitar a los usuarios que actualicen, con segmentos específicos por plataforma para iOS y Android.

Usa mensajes en la aplicación para notificar a los usuarios en versiones antiguas que hay una actualización disponible y solicitarles que la instalen. Este tutorial explica cómo crear segmentos y mensajes específicos por plataforma para iOS y Android.

## Requisitos

* OneSignal SDK v5 o posterior

## Configuración

**Escenario de ejemplo**: La última versión de nuestra aplicación es `1.0.1`. Queremos orientar a los usuarios en la versión `1.0.0` y anteriores con un mensaje en la aplicación solicitándoles que actualicen.

### 1. Obtener la última versión de tu aplicación

OneSignal detecta `App Version` basándose en lo siguiente:

**iOS**: La `Version` que se encuentra en Xcode **tu objetivo principal de aplicación > General > Identity**

<Frame caption="Versión de aplicación de iOS encontrada en Xcode">
  <img src="https://mintcdn.com/onesignal/FXJz6yFfOqztaEND/images/mobile/ios-version.png?fit=max&auto=format&n=FXJz6yFfOqztaEND&q=85&s=4c6582a16d72787f02bce216ff5cd1c4" alt="Configuración del proyecto en Xcode mostrando el campo Version bajo Identity" width="2104" height="1294" data-path="images/mobile/ios-version.png" />
</Frame>

**Android**: El `versionCode` que se encuentra en el archivo `build.gradle` de tu aplicación

<Frame caption="Versión de aplicación de Android encontrada en tu build.gradle de aplicación">
  <img src="https://mintcdn.com/onesignal/FXJz6yFfOqztaEND/images/mobile/android-version.png?fit=max&auto=format&n=FXJz6yFfOqztaEND&q=85&s=ded4166d51b66edd8727904db655eee7" alt="Archivo build.gradle de Android mostrando el campo versionCode" width="2302" height="1390" data-path="images/mobile/android-version.png" />
</Frame>

<Note>
  Si no tienes acceso a Xcode y/o Android Studio, solicita estos valores a tu desarrollador.
</Note>

<Warning>
  iOS y Android usan formatos de versión diferentes, y los enlaces de la tienda varían por plataforma. Crea segmentos y mensajes en la aplicación separados para cada uno.
</Warning>

### 2. Configurar los segmentos

Necesitarás crear dos segmentos, uno para iOS y uno para Android.

**iOS**:

* Nombre del segmento: `iOS App version less than 1.0.1`
* Filtros: `App Version` es `less than` `1.0.1` Y `Device Type` es `iOS`.

<Frame caption="Filtros de segmento de iOS">
  <img src="https://mintcdn.com/onesignal/BIUS_wdfwITxcuxQ/images/segments/ios-appversion-segment.png?fit=max&auto=format&n=BIUS_wdfwITxcuxQ&q=85&s=4326713ed20081df29db2b30ce8a0033" alt="Segmento de OneSignal con los filtros App Version menor que 1.0.1 y Device Type es iOS" width="1300" height="620" data-path="images/segments/ios-appversion-segment.png" />
</Frame>

**Android**:

* Nombre del segmento: `Android App version less than 10001`
* Filtros: `App Version` es `less than` `10001` Y `Device Type` es `Android`.

<Frame caption="Filtros de segmento de Android">
  <img src="https://mintcdn.com/onesignal/BIUS_wdfwITxcuxQ/images/segments/android-appversion-segment.png?fit=max&auto=format&n=BIUS_wdfwITxcuxQ&q=85&s=7684e1d0ec956fe40fc1f46e2359f45b" alt="Segmento de OneSignal con los filtros App Version menor que 10001 y Device Type es Android" width="1302" height="628" data-path="images/segments/android-appversion-segment.png" />
</Frame>

### 3. Configurar los mensajes en la aplicación

Navega a **Messages > In-App > New Message > New In-App**.

Comienza desde el diseño prediseñado **New Feature Announcement** o crea el tuyo desde cero.

<Frame caption="Plantilla New Feature Announcement">
  <img src="https://mintcdn.com/onesignal/yt4lRKoquAlWvRvF/images/iam/new-in-app-message-select.png?fit=max&auto=format&n=yt4lRKoquAlWvRvF&q=85&s=672e45bec1d7b137040c0e4cfda951a9" alt="Selección de plantilla de mensaje en la aplicación de OneSignal mostrando la opción New Feature Announcement" width="2310" height="1888" data-path="images/iam/new-in-app-message-select.png" />
</Frame>

Asigna al mensaje un nombre que refleje que es para usuarios de iOS.

#### Agregar tu audiencia

Selecciona el segmento particular **iOS App version less than 1.0.1**.

#### Actualizar el mensaje

Actualiza el contenido del mensaje según sea necesario. Para navegar al usuario a tu listado en la tienda de aplicaciones, agrega una [acción de clic de URL](./iam-click-actions#url) a un botón u otro elemento.

<Frame caption="Acción de clic de URL que enlaza al listado en la tienda de aplicaciones">
  <img src="https://mintcdn.com/onesignal/yt4lRKoquAlWvRvF/images/iam/url-click-action.png?fit=max&auto=format&n=yt4lRKoquAlWvRvF&q=85&s=c9895a060ca2edb109e395a232b920b5" alt="Editor de mensajes en la aplicación de OneSignal mostrando una acción de clic de URL configurada en un botón" width="1732" height="1164" data-path="images/iam/url-click-action.png" />
</Frame>

Ingresa el enlace de la tienda como URL:

* **iOS**: `https://apps.apple.com/app/idYOUR_APP_STORE_ID` — consulta [Requesting App Store Reviews](https://developer.apple.com/documentation/storekit/requesting_app_store_reviews)
* **Android**: `https://play.google.com/store/apps/details?id=YOUR_PACKAGE_NAME` — consulta [Linking to Google Play](https://developer.android.com/distribute/marketing-tools/linking-to-google-play.html)

### 4. Activadores

Recomendamos usar el activador **On app open** para asegurarte de que el mensaje se muestre cuando el usuario abra la aplicación.

### 5. Programación y frecuencia

Si programaste la actualización de la aplicación para algún momento en el futuro, puedes programar que el mensaje comience a mostrarse en ese momento.

Dependiendo de qué tan agresivo quieras ser con tus solicitudes de actualización, puedes establecer la frecuencia "¿Con qué frecuencia deseas mostrar este mensaje?" en:

* **Every time trigger conditions are satisfied** - lo que significa cada vez que abran la aplicación en este ejemplo.
* **Multiple times** - establece el número total de veces para mostrar el mensaje y el retraso entre ellas. Por ejemplo, 100 veces con un intervalo de 3 días. Mostrará el mensaje cada 3 días hasta 100 veces.

### 6. Guardar como borrador y duplicar para Android

Haz clic en el botón **Save as Draft** para guardar el mensaje.

En la página **In-App Messages**, haz clic en **Options > Duplicate** junto al mensaje que acabas de guardar.

Actualiza lo siguiente para tus usuarios de Android:

* El nombre del IAM para reflejar que es para usuarios de Android
* Establece el segmento en **Android App version less than 10001**
* Actualiza la URL al enlace de la tienda de Android
* Agrega cualquier cambio adicional al mensaje para hacerlo único para usuarios de Android

Haz clic en **Save as Draft** para guardar el mensaje.

***

## Pruebas

Antes de publicar tus mensajes, te sugerimos probarlos con los siguientes pasos:

<Steps>
  <Step title="Encuentra tu dispositivo de prueba y configúralo como test user">
    * Encuentra tu dispositivo de prueba y configúralo como una [test user](./test-users).
    * Asegúrate de que el dispositivo de prueba esté en la versión inferior de tu aplicación.
  </Step>

  <Step title="Actualiza el segmento para incluir Test Users">
    * Abre el mensaje en la aplicación que deseas probar.
    * Haz clic en el segmento y agrega un filtro **And** para **Test Users**.
      * Esto asegurará que el mensaje solo se muestre para tus dispositivos de prueba
    * Por ejemplo, si tu dispositivo de prueba está en iOS, el segmento se verá así:
          <Frame caption="Segmento de iOS con el filtro Test Users agregado">
            <img src="https://mintcdn.com/onesignal/BIUS_wdfwITxcuxQ/images/segments/ios-appversion-testusers-segment.png?fit=max&auto=format&n=BIUS_wdfwITxcuxQ&q=85&s=8ba7a6b64f91409ae8056408fd5dc941" alt="Segmento de OneSignal con los filtros App Version, Device Type y Test Users" width="1292" height="653" data-path="images/segments/ios-appversion-testusers-segment.png" />
          </Frame>
    * Haz clic en **Update Segment** para guardar los cambios.
  </Step>

  <Step title="Publica el mensaje">
    * Haz clic en **Update Message** para actualizar el mensaje en la aplicación.
    * Haz clic en **Options > Resume** junto al mensaje para activarlo.
  </Step>

  <Step title="Verifica que se muestre el mensaje">
    * Cierra la aplicación en el dispositivo de prueba.
    * Espera 1 minuto.
    * Abre la aplicación en tu dispositivo de prueba.
    * Deberías ver el mensaje si:
      * El dispositivo es una test user
      * El dispositivo está en la versión inferior de tu aplicación.
      * El segmento está establecido en **Test Users**.
  </Step>
</Steps>

***

## Lista de verificación para entrar en producción

Cuando estés listo para entrar en producción:

* Actualiza los segmentos para eliminar el filtro `Test Users`.
* Verifica la programación para asegurarte de que esté configurada en la fecha y hora correctas.
* Haz clic en **Update Message** para actualizar el mensaje en la aplicación.

<Check>
  ¡Has terminado! Cualquier usuario que abra tu aplicación en una versión anterior recibirá una notificación de tu actualización de aplicación.

  Regresa al mensaje en la aplicación después de un tiempo para verificar el progreso. También puedes obtener análisis de mensajes en la aplicación con [Event Streams](./event-streams) o [integraciones](./integrations) de terceros.
</Check>

***

## FAQ

### ¿OneSignal detecta la versión de la aplicación automáticamente?

Sí. El SDK de OneSignal reporta la versión de la aplicación a OneSignal automáticamente. En iOS esto es el campo `Version` en Xcode, y en Android es el `versionCode` en tu archivo `build.gradle`.

### ¿Por qué necesito mensajes separados para iOS y Android?

iOS y Android usan formatos de versión diferentes (por ejemplo, `1.0.1` vs `10001`), y los enlaces de la tienda para cada plataforma son distintos. Los segmentos y mensajes separados garantizan que se usen el filtro de versión y el enlace de la tienda correctos para cada plataforma.

### ¿Puedo usar esto con Journeys en lugar de activadores en la aplicación?

Sí. Puedes crear un Journey que apunte a los mismos segmentos basados en versión y envíe un mensaje en la aplicación como un paso. Esto te da control adicional sobre el tiempo y las acciones de seguimiento.

***

<Info>
  ¿Necesita ayuda?

  Chatee con nuestro equipo de Soporte o envíe un correo electrónico a `support@onesignal.com`

  Por favor incluya:

  * Detalles del problema que está experimentando y pasos para reproducir si están disponibles
  * Su ID de aplicación de OneSignal
  * El ID externo o ID de suscripción si corresponde
  * La URL del mensaje que probó en el panel de OneSignal si corresponde
  * Cualquier [registro o mensaje de error](/docs/es/capturing-a-debug-log) relevante

  ¡Estamos felices de ayudar!
</Info>

<Columns cols={2}>
  <Card title="Acciones de clic en la aplicación" icon="hand-pointer" href="./iam-click-actions">
    Configura acciones de clic de URL, solicitud de permiso, etiqueta, resultado y personalizadas en elementos de mensajes en la aplicación.
  </Card>

  <Card title="Segmentos" icon="users" href="./segmentation">
    Crea segmentos basados en propiedades de usuario, comportamiento y atributos del dispositivo.
  </Card>
</Columns>
