# Windows Javascript SDK

[**Скачать SDK**](https://github.com/Pushwoosh/pushwoosh-windows-sdk)\
[**Пример для W8 JS**](https://github.com/Pushwoosh/pushwoosh-windows-sdk/tree/master/Samples/Win8.1JS)

<Aside>
#### Поддерживает Windows 8.1, Windows 10
</Aside>

## Интеграция SDK

<Aside type="note">
Вы можете использовать эмулятор при работе с push-уведомлениями.
</Aside>

Чтобы интегрировать Pushwoosh в ваше приложение Windows JS, выполните следующие шаги.

**1.** Скачайте наш пакет SDK.

**2.** Добавьте ссылку на **PushSDK/Project-Win8.1-WNS/PushSDK.winmd** в ваш проект\
Или **PushSDK/Project-Win10-WNS/PushSDK.winmd**, если вы разрабатываете для Windows 10

**3.** Инициализируйте сервис push-уведомлений с помощью следующего кода:

```javascript
var service = new PushSDK.NotificationService.getCurrent("YOUR_PUSHWOOSH_APP_ID");
 
service.ononpushaccepted = function (args) {
    //код для обработки push-уведомления
    //отображение полезной нагрузки push-уведомления только для теста
    var md = new Windows.UI.Popups.MessageDialog(args.toString());
    md.showAsync()
}
 
service.ononpushtokenreceived = function (pushToken) {
    //код для обработки push-токена
}
 
service.ononpushtokenfailed = function (error) {
    //код для обработки сбоя подписки на push-уведомления
}
 
service.subscribeToPushService();
```

**4.** В вашу функцию **app.onactivated** добавьте следующее:

```javascript
app.onactivated = function (args) {
        if (args.detail.kind === activation.ActivationKind.launch) {
            if (args.detail.previousExecutionState !== activation.ApplicationExecutionState.terminated) {
                // TODO: Это приложение было только что запущено. Инициализируйте
                // ваше приложение здесь.
 
                //Обработка push-уведомления при запуске
                PushSDK.NotificationService.handleStartPush(args.detail.arguments);
```

<Aside type="caution" title="Важно"> 
Если вы планируете использовать Toast-уведомления, убедитесь, что они включены в проекте вашего приложения. Перейдите на вкладку Application UI в настройках манифеста и установите для **Toast Capable** значение **Yes**. В противном случае Toast-уведомления не будут работать на устройстве.
</Aside>

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

## Расширенные функции

### Теги

С помощью тегов вы можете создавать наборы устройств на основе различных критериев.

**1.** Создайте список тегов:

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

**2.** Отправьте теги в Pushwoosh:

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