> ## 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 app Windows

> Guía completa para integrar notificaciones push de OneSignal en tu app Universal Windows Platform (UWP) usando Windows Push Notification Service (WNS) y la API REST de OneSignal

# Configuración app Windows

## Requisitos

Antes de configurar OneSignal para tu app Windows, asegúrate de tener:

* **App Universal Windows Platform (UWP)** - OneSignal actualmente soporta solo apps UWP
* **Registro de app Microsoft Store** - Requerido para obtener Package SID y Secret Key
* **Cuenta OneSignal** - Cuenta gratuita con app configurada y configuraciones de plataforma

<Info>OneSignal no soporta actualmente Windows App SDK (WinUI 3). Si tu app usa Windows App SDK en lugar de UWP, contacta a `support@onesignal.com` para orientación sobre [opciones de migración](https://learn.microsoft.com/en-us/windows/apps/windows-app-sdk/migrate-to-windows-app-sdk/guides/notifications).</Info>

## Configurar tu app OneSignal y plataforma

### Paso 1: Configura tu cuenta OneSignal

Si tu equipo ya tiene una cuenta OneSignal, [solicita acceso admin](./manage-team-members) para configurar las configuraciones de plataforma. De lo contrario, [crea una cuenta gratuita](https://onesignal.com) para comenzar.

### Paso 2: Crea o configura tu app OneSignal

OneSignal te permite configurar múltiples plataformas (iOS, Android, Huawei, Amazon, Windows) dentro de una sola app para mensajería multi-plataforma.

#### Crear nueva app

1. Haz clic en **New App/Website** desde tu dashboard
2. Elige un nombre de app reconocible y nombre de organización
3. Selecciona **Windows (UWP)** como tu plataforma
4. Haz clic en **Next: Configure Your Platform**

<Frame caption="Creando una nueva app OneSignal con plataforma Windows">
  <img src="https://mintcdn.com/onesignal/tNi1OgLc_p9hiq7_/images/docs/13e619dc5fd638b4d9adf5505ddd645de431dc963dbeeac923462060c030ce7c-Screenshot_2025-04-07_at_3.48.57_PM.png?fit=max&auto=format&n=tNi1OgLc_p9hiq7_&q=85&s=77c331bb0aea78c3f5d96ed065e14d1f" width="2344" height="1544" data-path="images/docs/13e619dc5fd638b4d9adf5505ddd645de431dc963dbeeac923462060c030ce7c-Screenshot_2025-04-07_at_3.48.57_PM.png" />
</Frame>

#### Agregar plataforma a app existente

1. Selecciona tu app existente
2. Navega a **Settings > Push & In-App**
3. Haz clic en **Add Platform** y selecciona **Windows (UWP)**

<Frame caption="Configurando tu app OneSignal y seleccionando plataforma Windows">
  <img src="https://mintcdn.com/onesignal/jFWn5xzleD8du3j6/images/docs/5cfafd284e02ae310a7e2a973d58d858e36d59bd54a7c58c3dc5da5ff5946721-Screenshot_2025-04-07_at_3.51.19_PM.png?fit=max&auto=format&n=jFWn5xzleD8du3j6&q=85&s=2059055133014853ce9d5a62fb7c9bbc" width="2428" height="1960" data-path="images/docs/5cfafd284e02ae310a7e2a973d58d858e36d59bd54a7c58c3dc5da5ff5946721-Screenshot_2025-04-07_at_3.51.19_PM.png" />
</Frame>

### Paso 3: Configura plataformas adicionales (Opcional)

Si estás construyendo una app multi-plataforma, configura plataformas adicionales ahora:

* **Android**: [Configurar credenciales Firebase](./android-firebase-credentials)
* **iOS**: [Token p8 (Recomendado)](./ios-p8-token-based-connection-to-apns) o [Certificado p12](./ios-p12-generate-certificates)
* **Amazon**: [Generar API Key](./generate-an-amazon-api-key)
* **Huawei**: [Autorizar OneSignal](./authorize-onesignal-to-send-huawei-push)

Haz clic en **Save & Continue** después de ingresar credenciales para cada plataforma.

### Paso 4: Selecciona SDK objetivo

Elige **Windows UWP** como tu SDK objetivo y haz clic en **Save & Continue**.

<Frame caption="Selecciona Windows UWP SDK para acceder a documentación específica de plataforma">
  <img src="https://mintcdn.com/onesignal/tNi1OgLc_p9hiq7_/images/docs/13775481f708ed06086e4f6cfd4892a7e47970b669757212f62b2f508c0d1ab7-Screenshot_2025-04-07_at_3.57.27_PM.png?fit=max&auto=format&n=tNi1OgLc_p9hiq7_&q=85&s=2509168f647aef9dc29e59805d0cec21" width="3162" height="1886" data-path="images/docs/13775481f708ed06086e4f6cfd4892a7e47970b669757212f62b2f508c0d1ab7-Screenshot_2025-04-07_at_3.57.27_PM.png" />
</Frame>

### Paso 5: Guarda tu App ID

**Crítico:** Copia y almacena de forma segura tu OneSignal App ID - necesitarás esto para llamadas API y registro de usuarios.

<Frame caption="Guarda tu App ID e invita a miembros del equipo que necesiten acceso">
  <img src="https://mintcdn.com/onesignal/YOTSrtBSoqdrJ37A/images/docs/45dc4f796e919a3da95ab0f3cba25be49091fe56c0a97b159dc12dd16702d734-Screenshot_2025-04-07_at_3.59.42_PM.png?fit=max&auto=format&n=YOTSrtBSoqdrJ37A&q=85&s=6c14c2a05be8a4474e22a52aaa7d76da" width="2710" height="1846" data-path="images/docs/45dc4f796e919a3da95ab0f3cba25be49091fe56c0a97b159dc12dd16702d734-Screenshot_2025-04-07_at_3.59.42_PM.png" />
</Frame>

Opcionalmente, invita a miembros del equipo haciendo clic en **Invite**, luego haz clic en **Done** para continuar.

## Configuración plataforma Windows

### Obtener credenciales Microsoft Store

Como OneSignal usa Windows Push Notification Service (WNS), necesitarás credenciales de Microsoft Store:

1. **Publicar en Microsoft Store** - Tu app debe estar registrada en Microsoft Store (incluso si no está disponible públicamente)
2. **Obtener Package SID y Secret Key** - Sigue la [guía detallada de Microsoft](https://learn.microsoft.com/en-us/azure/notification-hubs/notification-hubs-windows-store-dotnet-get-started-wns-push-notification#create-an-app-in-windows-store) para obtener estas credenciales
3. **Configurar plataforma OneSignal**:
   * Navega a **Settings > Windows (UWP)** en tu dashboard OneSignal
   * Pega tu Package SID y Secret Key
   * Haz clic en **Save** para activar la plataforma

<Frame caption="Configura credenciales de plataforma Windows en dashboard OneSignal">
  <img src="https://mintcdn.com/onesignal/56ctKxZSV4m5VEkn/images/docs/b83d13b-Screenshot_2023-03-21_at_12.02.58_PM.png?fit=max&auto=format&n=56ctKxZSV4m5VEkn&q=85&s=aac1ef94751db6f307284a86a455b6cf" width="1842" height="940" data-path="images/docs/b83d13b-Screenshot_2023-03-21_at_12.02.58_PM.png" />
</Frame>

> **Importante:** Package SID y Secret Key solo están disponibles después de que tu app esté registrada en Microsoft Store. No puedes probar notificaciones push localmente sin estas credenciales.

## Integración SDK

### Entender la arquitectura

OneSignal no proporciona un SDK UWP dedicado. En su lugar, integrarás usando:

1. **Windows Push Notification Service (WNS)** - Servicio push nativo de Microsoft
2. **OneSignal REST API** - Para gestión de usuarios y envío de mensajes
3. **Notification Channel URI** - Actúa como el token del dispositivo para notificaciones push

Para una comprensión completa de WNS, revisa la [documentación WNS de Microsoft](https://docs.microsoft.com/en-us/windows/uwp/design/shell/tiles-and-notifications/windows-push-notification-services--wns--overview).

### Registrar usuarios para notificaciones push

#### Paso 1: Solicitar canal de notificación

Sigue la guía de Microsoft para [crear un canal de notificación](https://learn.microsoft.com/en-us/windows/apps/design/shell/tiles-and-notifications/request-create-save-notification-channel). El URI del canal devuelto por WNS sirve como tu token de dispositivo.

```csharp theme={null}
// Ejemplo: Obtener URI de canal de notificación
var channel = await PushNotificationChannelManager.CreatePushNotificationChannelForApplicationAsync();
string channelUri = channel.Uri; // Este es tu token para OneSignal
```

#### Paso 2: Crear registro de usuario OneSignal

Llama a la API [Create user](/reference/create-user) de OneSignal para registrar el dispositivo:

**Parámetros requeridos:**

* `subscription.type`: `"WindowsPush"`
* `subscription.token`: El URI del canal del Paso 1

**Parámetros recomendados:**

* `identity.external_id`: Identificador único para el usuario (ej., ID de usuario de tu sistema)
* `properties`: Cualquier propiedad de usuario personalizada para targeting

```json theme={null}
{
  "identity": {
    "external_id": "your-user-id-123"
  },
  "subscriptions": [
    {
      "type": "WindowsPush",
      "token": "https://cloud.notify.windows.com/?token=..."
    }
  ],
  "properties": {
    "tags": {
      "user_type": "premium",
      "app_version": "1.2.0"
    }
  }
}
```

> **Importante:** Los URIs de canal pueden expirar y cambiar. Implementa lógica para refrescar el URI del canal periódicamente y actualizar el registro de usuario OneSignal cuando cambie.

### Manejar cambios de URI de canal

Los URIs de canal WNS pueden expirar. Implementa el evento `PushNotificationReceived` para detectar cuándo necesitas refrescar:

```csharp theme={null}
channel.PushNotificationReceived += OnPushNotificationReceived;

// Verificar si el URI del canal ha cambiado
if (channel.Uri != storedChannelUri) {
    // Actualizar registro de usuario OneSignal con nuevo URI
    await UpdateOneSignalUser(channel.Uri);
}
```

## Enviar notificaciones push

### Usar dashboard OneSignal

1. Navega a **Messages > Push** en tu dashboard OneSignal
2. Crea una nueva notificación push
3. Selecciona tu plataforma Windows
4. Configura tu contenido de mensaje y targeting
5. Envía inmediatamente o programa para más tarde

### Usar API OneSignal

Envía notificaciones programáticamente usando la API [Create notification](/reference/create-message):

```json theme={null}
{
  "app_id": "your-onesignal-app-id",
  "contents": {"en": "Your notification message"},
  "headings": {"en": "Notification Title"},
  "include_external_user_ids": ["your-user-id-123"],
  "channel_for_external_user_ids": "push"
}
```

Para opciones detalladas de mensajería y targeting avanzado, ver [Enviar mensajes push](./push).

## Siguientes pasos y mejores prácticas

### Probar tu integración

1. **Probar creación de canal de notificación** - Asegúrate de que tu app cree y mantenga exitosamente un canal WNS
2. **Verificar registro de usuario** - Confirma que los usuarios estén registrados correctamente en tu dashboard OneSignal
3. **Enviar notificaciones de prueba** - Usa el dashboard OneSignal para enviar mensajes de prueba
4. **Manejar eventos de notificación** - Implementa manejo adecuado para eventos de notificación recibida, abierta y descartada

### Problemas comunes y soluciones

**URI de canal no funciona**

* Verifica que tu Package SID y Secret Key estén configurados correctamente
* Asegúrate de que tu app esté registrada correctamente en Microsoft Store
* Verifica que el URI del canal no haya expirado

**Usuarios no reciben notificaciones**

* Confirma que el registro de usuario OneSignal fue creado exitosamente
* Verifica que la plataforma Windows esté configurada correctamente en OneSignal
* Verifica que las notificaciones no estén siendo bloqueadas por la configuración de notificaciones de Windows

**Problemas de integración API**

* Valida que tu OneSignal App ID sea correcto
* Asegúrate de que estás usando los endpoints API correctos y autenticación
* Revisa códigos de respuesta API y mensajes de error para solución de problemas

### Consideraciones de producción

* Implementa manejo de errores adecuado para todas las llamadas API OneSignal
* Configura monitoreo para fallos de refresco de URI de canal
* Considera implementar cola offline para llamadas API durante problemas de red
* Planifica el escalado de registro de usuarios durante períodos de uso pico de app

Para soporte adicional y orientación de implementación avanzada, contacta al soporte OneSignal o explora nuestra completa [documentación API](/reference/rest-api-overview).
