# SDK Javascript para Windows

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

<Aside>
#### Suporta Windows 8.1, Windows 10
</Aside>

## Integração do SDK

<Aside type="note">
Você pode usar um emulador enquanto trabalha com notificações push.
</Aside>

Para integrar a Pushwoosh em seu aplicativo JS para Windows, siga os passos abaixo.

**1.** Baixe nosso pacote SDK.

**2.** Adicione uma referência a **PushSDK/Project-Win8.1-WNS/PushSDK.winmd** ao seu projeto\
Ou **PushSDK/Project-Win10-WNS/PushSDK.winmd** se você desenvolve para Windows 10

**3.** Inicialize o serviço de push com o seguinte código:

```javascript
var service = new PushSDK.NotificationService.getCurrent("YOUR_PUSHWOOSH_APP_ID");
 
service.ononpushaccepted = function (args) {
    //código para lidar com a notificação push
    //exibir o payload da notificação push apenas para teste
    var md = new Windows.UI.Popups.MessageDialog(args.toString());
    md.showAsync()
}
 
service.ononpushtokenreceived = function (pushToken) {
    //código para lidar com o token de push
}
 
service.ononpushtokenfailed = function (error) {
    //código para lidar com a falha na inscrição de push
}
 
service.subscribeToPushService();
```

**4.** Em sua função **app.onactivated**, adicione o seguinte:

```javascript
app.onactivated = function (args) {
        if (args.detail.kind === activation.ActivationKind.launch) {
            if (args.detail.previousExecutionState !== activation.ApplicationExecutionState.terminated) {
                // TODO: Este aplicativo foi recém-lançado. Inicialize
                // seu aplicativo aqui.
 
                //Lidar com o push inicial
                PushSDK.NotificationService.handleStartPush(args.detail.arguments);
```

<Aside type="caution" title="Importante"> 
Se você planeja usar notificações Toast, certifique-se de que as notificações Toast estejam ativadas no projeto do seu aplicativo. Vá para a aba Application UI nas configurações do manifesto e defina **Toast Capable** como **Yes**. Caso contrário, as notificações Toast não funcionarão no dispositivo.
</Aside>

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

## Recursos avançados

### Tags

Com as tags, você pode criar um conjunto de dispositivos com base em diferentes critérios.

**1.** Crie uma lista de tags:

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

**2.** Envie as tags para a Pushwoosh:

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