# Integración del SDK de Windows

[**Descargar SDK**](https://github.com/Pushwoosh/pushwoosh-windows-sdk)\
[**Descargar muestra**](https://github.com/Pushwoosh/pushwoosh-windows-sdk/tree/master/Samples/UniversalWin8.1)\
[**Documentación de la API del SDK**](https://github.com/Pushwoosh/pushwoosh-windows-sdk/tree/master/Documentation-WNS)

<Aside>
#### Compatible con Windows 8.1 y Windows 10
</Aside>

## Integración del SDK

<Aside type="note">
Puedes usar un emulador mientras trabajas con notificaciones push.
</Aside>

Para integrar Pushwoosh en tu aplicación, sigue los pasos a continuación.

**1.** Descarga nuestro paquete SDK.

**2.** Añade una referencia a **PushSDK/Project-Win8.1-WNS/PushSDK.winmd** en tu proyecto\
O a **PushSDK/Project-Win10-WNS/PushSDK.winmd** si desarrollas para Windows 10

**3.** En el código, añade el namespace PushSDK: `using PushSDK;`

**4.** Inicializa el servicio push con el siguiente código:

```csharp
NotificationService service = PushSDK.NotificationService.GetCurrent("YOUR_PUSHWOOSH_APP_ID");
service.OnPushAccepted += (sender, pushNotification) => {
    //código para manejar la notificación push
    string pushString = pushNotification.ToString(); //devolverá el payload push en formato json
};
 
service.OnPushTokenReceived += (sender, pushToken) => {
    //código para manejar el token push
};
 
service.OnPushTokenFailed += (sender, errorMessage) => {
    //código para manejar el fallo en la suscripción push
};
 
service.SubscribeToPushService();
```

**5.** En tu **App.xaml.cs**, en la función **OnLaunched**, añade:

```csharp
protected override void OnLaunched(LaunchActivatedEventArgs args)
{
    NotificationService.HandleStartPush(args.Arguments);
 
    //otro código
}
```

<Aside type="caution" title="Importante">
Si planeas usar notificaciones Toast, asegúrate de que las notificaciones Toast estén activadas en el proyecto de tu aplicación. Ve a la pestaña de la UI de la aplicación en la configuración del manifiesto y establece **Toast Capable** en **Yes**. De lo contrario, las notificaciones Toast no funcionarán en el dispositivo.
</Aside>

<img src="/windows-windows-sdk-integration-1.webp" alt=""/>

### Problemas conocidos para Windows 8.1

Al integrar el SDK de Pushwoosh en tu Windows 8.1, podrías encontrarte con el siguiente error:

```
The underlying connection was closed: An unexpected error occurred on a send
```

Si te encuentras con ese error, añade el siguiente código a tu proyecto:

```
// El valor predeterminado es 'false'
NotificationService.IsWin81(true);
```