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

[**Скачать SDK**](https://github.com/Pushwoosh/pushwoosh-windows-sdk)\
[**Скачать пример**](https://github.com/Pushwoosh/pushwoosh-windows-sdk/tree/master/Samples/UniversalWin8.1)\
[**Документация по SDK API**](https://github.com/Pushwoosh/pushwoosh-windows-sdk/tree/master/Documentation-WNS)

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

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

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

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

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

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

**3.** В коде добавьте пространство имен PushSDK: `using PushSDK;`

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

```csharp
NotificationService service = PushSDK.NotificationService.GetCurrent("YOUR_PUSHWOOSH_APP_ID");
service.OnPushAccepted += (sender, pushNotification) => {
    //код для обработки push-уведомления
    string pushString = pushNotification.ToString(); //вернет json push-уведомления
};
 
service.OnPushTokenReceived += (sender, pushToken) => {
    //код для обработки push-токена
};
 
service.OnPushTokenFailed += (sender, errorMessage) => {
    //код для обработки сбоя подписки на push-уведомления
};
 
service.SubscribeToPushService();
```

**5.** В вашем файле **App.xaml.cs** в функции **OnLaunched** добавьте:

```csharp
protected override void OnLaunched(LaunchActivatedEventArgs args)
{
    NotificationService.HandleStartPush(args.Arguments);
 
    //другой код
}
```

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

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

### Известные проблемы для Windows 8.1

При интеграции Pushwoosh SDK в ваш проект для Windows 8.1 вы можете столкнуться со следующей ошибкой:

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

Если вы столкнулись с этой ошибкой, добавьте в свой проект следующий код:

```
// По умолчанию 'false'
NotificationService.IsWin81(true);
```