# Integração do SDK do Windows

[**Baixar SDK**](https://github.com/Pushwoosh/pushwoosh-windows-sdk)\
[**Baixar Amostra**](https://github.com/Pushwoosh/pushwoosh-windows-sdk/tree/master/Samples/UniversalWin8.1)\
[**Documentação da API do SDK**](https://github.com/Pushwoosh/pushwoosh-windows-sdk/tree/master/Documentation-WNS)

<Aside>
#### Compatível com Windows 8.1 e 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, siga os passos abaixo.

**1.** Baixe nosso pacote SDK.

**2.** Adicione a 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.** No código, adicione o namespace PushSDK: `using PushSDK;`

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

```csharp
NotificationService service = PushSDK.NotificationService.GetCurrent("SEU_ID_DE_APLICATIVO_PUSHWOOSH");
service.OnPushAccepted += (sender, pushNotification) => {
    //código para lidar com a notificação push
    string pushString = pushNotification.ToString(); //retornará a carga útil do push em json
};
 
service.OnPushTokenReceived += (sender, pushToken) => {
    //código para lidar com o token de push
};
 
service.OnPushTokenFailed += (sender, errorMessage) => {
    //código para lidar com a falha na inscrição de push
};
 
service.SubscribeToPushService();
```

**5.** No seu **App.xaml.cs**, na função **OnLaunched**, adicione:

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

<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 guia de UI do Aplicativo nas configurações do manifesto e defina **Toast Capable** como **Sim**. Caso contrário, as notificações Toast não funcionarão no dispositivo.
</Aside>

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

### Problemas conhecidos para Windows 8.1

Ao integrar o SDK da Pushwoosh no seu Windows 8.1, você pode encontrar o seguinte erro:

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

Se você encontrar esse erro, adicione o seguinte código ao seu projeto:

```
// O padrão é 'false'
NotificationService.IsWin81(true);
```