# SDK de Javascript para Windows

[**Descargar SDK**](https://github.com/Pushwoosh/pushwoosh-windows-sdk)\
[**Ejemplo de W8 JS**](https://github.com/Pushwoosh/pushwoosh-windows-sdk/tree/master/Samples/Win8.1JS)

<Aside>
#### Compatible con Windows 8.1, 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 de Windows JS, sigue los pasos a continuación.

**1.** Descarga nuestro paquete SDK.

**2.** Agrega 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.** Inicializa el servicio de push con el siguiente código:

```javascript
var service = new PushSDK.NotificationService.getCurrent("YOUR_PUSHWOOSH_APP_ID");
 
service.ononpushaccepted = function (args) {
    //code to handle push notification
    //display push notification payload for test only
    var md = new Windows.UI.Popups.MessageDialog(args.toString());
    md.showAsync()
}
 
service.ononpushtokenreceived = function (pushToken) {
    //code to handle push token
}
 
service.ononpushtokenfailed = function (error) {
    //code to handle push subscription failure
}
 
service.subscribeToPushService();
```

**4.** En tu función **app.onactivated**, agrega lo siguiente:

```javascript
app.onactivated = function (args) {
        if (args.detail.kind === activation.ActivationKind.launch) {
            if (args.detail.previousExecutionState !== activation.ApplicationExecutionState.terminated) {
                // TODO: This application has been newly launched. Initialize
                // your application here.
 
                //Handle start push
                PushSDK.NotificationService.handleStartPush(args.detail.arguments);
```

<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 **Sí**. De lo contrario, las notificaciones Toast no funcionarán en el dispositivo.
</Aside>

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

## Funciones avanzadas

### Tags

Con los tags, puedes crear un conjunto de dispositivos basados en diferentes criterios.

**1.** Crea una lista de tags:

```javascript
var keys = ["name1", "name2"];
var values = ["value1", "value2"];
```

**2.** Envía los tags a Pushwoosh:

```javascript
service.sendTag(keys, values);
```