> ## Documentation Index
> Fetch the complete documentation index at: https://documentation.onesignal.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Configuração de app Windows

> Guia completo para integrar notificações push OneSignal no seu app Universal Windows Platform (UWP) usando Windows Push Notification Service (WNS) e REST API do OneSignal

# Configuração de App Windows

## Requisitos

Antes de configurar OneSignal para seu app Windows, garanta que você tem:

* **App Universal Windows Platform (UWP)** - OneSignal atualmente suporta apenas apps UWP
* **Registro de App Microsoft Store** - Necessário para obter Package SID e Secret Key
* **Conta OneSignal** - Conta gratuita com configurações de app e plataforma configuradas

<Info>OneSignal atualmente não suporta Windows App SDK (WinUI 3). Se seu app usa Windows App SDK ao invés de UWP, por favor contate `support@onesignal.com` para orientação sobre [opções de migração](https://learn.microsoft.com/en-us/windows/apps/windows-app-sdk/migrate-to-windows-app-sdk/guides/notifications).</Info>

## Configure Seu App e Plataforma OneSignal

### Passo 1: Configure Sua Conta OneSignal

Se sua equipe já tem uma conta OneSignal, [solicite acesso admin](./manage-team-members) para configurar configurações de plataforma. Caso contrário, [crie uma conta gratuita](https://onesignal.com) para começar.

### Passo 2: Crie ou Configure Seu App OneSignal

OneSignal permite que você configure múltiplas plataformas (iOS, Android, Huawei, Amazon, Windows) dentro de um único app para mensagens cross-platform.

#### Criar Novo App

1. Clique em **New App/Website** do seu dashboard
2. Escolha um nome de app reconhecível e nome de organização
3. Selecione **Windows (UWP)** como sua plataforma
4. Clique em **Next: Configure Your Platform**

<Frame caption="Criando um novo app OneSignal com plataforma Windows">
  <img src="https://mintcdn.com/onesignal/tNi1OgLc_p9hiq7_/images/docs/13e619dc5fd638b4d9adf5505ddd645de431dc963dbeeac923462060c030ce7c-Screenshot_2025-04-07_at_3.48.57_PM.png?fit=max&auto=format&n=tNi1OgLc_p9hiq7_&q=85&s=77c331bb0aea78c3f5d96ed065e14d1f" width="2344" height="1544" data-path="images/docs/13e619dc5fd638b4d9adf5505ddd645de431dc963dbeeac923462060c030ce7c-Screenshot_2025-04-07_at_3.48.57_PM.png" />
</Frame>

#### Adicionar Plataforma a App Existente

1. Selecione seu app existente
2. Navegue para **Settings > Push & In-App**
3. Clique em **Add Platform** e selecione **Windows (UWP)**

<Frame caption="Configurando seu app OneSignal e selecionando plataforma Windows">
  <img src="https://mintcdn.com/onesignal/jFWn5xzleD8du3j6/images/docs/5cfafd284e02ae310a7e2a973d58d858e36d59bd54a7c58c3dc5da5ff5946721-Screenshot_2025-04-07_at_3.51.19_PM.png?fit=max&auto=format&n=jFWn5xzleD8du3j6&q=85&s=2059055133014853ce9d5a62fb7c9bbc" width="2428" height="1960" data-path="images/docs/5cfafd284e02ae310a7e2a973d58d858e36d59bd54a7c58c3dc5da5ff5946721-Screenshot_2025-04-07_at_3.51.19_PM.png" />
</Frame>

### Passo 3: Configure Plataformas Adicionais (Opcional)

Se você está construindo um app cross-platform, configure plataformas adicionais agora:

* **Android**: [Configure Credenciais Firebase](./android-firebase-credentials)
* **iOS**: [Token p8 (Recomendado)](./ios-p8-token-based-connection-to-apns) ou [Certificado p12](./ios-p12-generate-certificates)
* **Amazon**: [Gere API Key](./generate-an-amazon-api-key)
* **Huawei**: [Autorize OneSignal](./authorize-onesignal-to-send-huawei-push)

Clique em **Save & Continue** após inserir credenciais para cada plataforma.

### Passo 4: Selecione SDK Alvo

Escolha **Windows UWP** como seu SDK alvo e clique em **Save & Continue**.

<Frame caption="Selecione Windows UWP SDK para acessar documentação específica de plataforma">
  <img src="https://mintcdn.com/onesignal/tNi1OgLc_p9hiq7_/images/docs/13775481f708ed06086e4f6cfd4892a7e47970b669757212f62b2f508c0d1ab7-Screenshot_2025-04-07_at_3.57.27_PM.png?fit=max&auto=format&n=tNi1OgLc_p9hiq7_&q=85&s=2509168f647aef9dc29e59805d0cec21" width="3162" height="1886" data-path="images/docs/13775481f708ed06086e4f6cfd4892a7e47970b669757212f62b2f508c0d1ab7-Screenshot_2025-04-07_at_3.57.27_PM.png" />
</Frame>

### Passo 5: Salve Seu App ID

**Crítico:** Copie e armazene com segurança seu OneSignal App ID - você precisará dele para chamadas de API e registro de usuário.

<Frame caption="Salve seu App ID e convide membros da equipe que precisam de acesso">
  <img src="https://mintcdn.com/onesignal/YOTSrtBSoqdrJ37A/images/docs/45dc4f796e919a3da95ab0f3cba25be49091fe56c0a97b159dc12dd16702d734-Screenshot_2025-04-07_at_3.59.42_PM.png?fit=max&auto=format&n=YOTSrtBSoqdrJ37A&q=85&s=6c14c2a05be8a4474e22a52aaa7d76da" width="2710" height="1846" data-path="images/docs/45dc4f796e919a3da95ab0f3cba25be49091fe56c0a97b159dc12dd16702d734-Screenshot_2025-04-07_at_3.59.42_PM.png" />
</Frame>

Opcionalmente, convide membros da equipe clicando em **Invite**, depois clique em **Done** para continuar.

## Configuração de Plataforma Windows

### Obtenha Credenciais Microsoft Store

Como OneSignal usa Windows Push Notification Service (WNS), você precisará de credenciais da Microsoft Store:

1. **Publique na Microsoft Store** - Seu app deve estar registrado na Microsoft Store (mesmo que não esteja publicamente disponível)
2. **Obtenha Package SID e Secret Key** - Siga [guia detalhado da Microsoft](https://learn.microsoft.com/en-us/azure/notification-hubs/notification-hubs-windows-store-dotnet-get-started-wns-push-notification#create-an-app-in-windows-store) para recuperar estas credenciais
3. **Configure Plataforma OneSignal**:
   * Navegue para **Settings > Windows (UWP)** no seu dashboard OneSignal
   * Cole seu Package SID e Secret Key
   * Clique em **Save** para ativar a plataforma

<Frame caption="Configure credenciais de plataforma Windows no dashboard OneSignal">
  <img src="https://mintcdn.com/onesignal/56ctKxZSV4m5VEkn/images/docs/b83d13b-Screenshot_2023-03-21_at_12.02.58_PM.png?fit=max&auto=format&n=56ctKxZSV4m5VEkn&q=85&s=aac1ef94751db6f307284a86a455b6cf" width="1842" height="940" data-path="images/docs/b83d13b-Screenshot_2023-03-21_at_12.02.58_PM.png" />
</Frame>

> **Atenção:** Package SID e Secret Key estão disponíveis apenas após seu app estar registrado na Microsoft Store. Você não pode testar notificações push localmente sem estas credenciais.

## Integração do SDK

### Entendendo a Arquitetura

OneSignal não fornece um SDK UWP dedicado. Em vez disso, você integrará usando:

1. **Windows Push Notification Service (WNS)** - Serviço de push nativo da Microsoft
2. **OneSignal REST API** - Para gerenciamento de usuário e envio de mensagem
3. **Notification Channel URI** - Age como o token de dispositivo para notificações push

Para compreensão abrangente de WNS, revise [documentação WNS da Microsoft](https://docs.microsoft.com/en-us/windows/uwp/design/shell/tiles-and-notifications/windows-push-notification-services--wns--overview).

### Registre Usuários para Notificações Push

#### Passo 1: Solicite Canal de Notificação

Siga o guia da Microsoft para [criar um canal de notificação](https://learn.microsoft.com/en-us/windows/apps/design/shell/tiles-and-notifications/request-create-save-notification-channel). O URI do canal retornado por WNS serve como seu token de dispositivo.

```csharp theme={null}
// Example: Getting notification channel URI
var channel = await PushNotificationChannelManager.CreatePushNotificationChannelForApplicationAsync();
string channelUri = channel.Uri; // This is your token for OneSignal
```

#### Passo 2: Crie Registro de Usuário OneSignal

Chame a API [Create user](/reference/create-user) do OneSignal para registrar o dispositivo:

**Parâmetros Requeridos:**

* `subscription.type`: `"WindowsPush"`
* `subscription.token`: O URI do canal do Passo 1

**Parâmetros Recomendados:**

* `identity.external_id`: Identificador único para o usuário (por exemplo, ID de usuário do seu sistema)
* `properties`: Quaisquer propriedades de usuário personalizadas para segmentação

```json theme={null}
{
  "identity": {
    "external_id": "your-user-id-123"
  },
  "subscriptions": [
    {
      "type": "WindowsPush",
      "token": "https://cloud.notify.windows.com/?token=..."
    }
  ],
  "properties": {
    "tags": {
      "user_type": "premium",
      "app_version": "1.2.0"
    }
  }
}
```

> **Atenção:** URIs de canal podem expirar e mudar. Implemente lógica para atualizar o URI do canal periodicamente e atualizar o registro de usuário OneSignal quando ele mudar.

### Trate Mudanças de URI de Canal

URIs de canal WNS podem expirar. Implemente o evento `PushNotificationReceived` para detectar quando você precisa atualizar:

```csharp theme={null}
channel.PushNotificationReceived += OnPushNotificationReceived;

// Check if channel URI has changed
if (channel.Uri != storedChannelUri) {
    // Update OneSignal user record with new URI
    await UpdateOneSignalUser(channel.Uri);
}
```

## Enviando Notificações Push

### Usando Dashboard OneSignal

1. Navegue para **Messages > Push** no seu dashboard OneSignal
2. Crie uma nova notificação push
3. Selecione sua plataforma Windows
4. Configure seu conteúdo de mensagem e segmentação
5. Envie imediatamente ou agende para depois

### Usando OneSignal API

Envie notificações programaticamente usando a API [Create notification](/reference/create-message):

```json theme={null}
{
  "app_id": "your-onesignal-app-id",
  "contents": {"en": "Your notification message"},
  "headings": {"en": "Notification Title"},
  "include_external_user_ids": ["your-user-id-123"],
  "channel_for_external_user_ids": "push"
}
```

Para opções detalhadas de mensagens e segmentação avançada, veja [Enviando Mensagens Push](./push).

## Próximos Passos e Melhores Práticas

### Testando Sua Integração

1. **Teste Criação de Canal de Notificação** - Garanta que seu app cria e mantém com sucesso um canal WNS
2. **Verifique Registro de Usuário** - Confirme que usuários estão propriamente registrados no seu dashboard OneSignal
3. **Envie Notificações de Teste** - Use o dashboard OneSignal para enviar mensagens de teste
4. **Trate Eventos de Notificação** - Implemente tratamento adequado para eventos de notificação recebida, aberta e dispensada

### Problemas Comuns e Soluções

**URI de Canal Não Funciona**

* Verifique se seu Package SID e Secret Key estão corretamente configurados
* Garanta que seu app está propriamente registrado na Microsoft Store
* Verifique se o URI do canal não expirou

**Usuários Não Recebem Notificações**

* Confirme que o registro de usuário OneSignal foi criado com sucesso
* Verifique se a plataforma Windows está propriamente configurada no OneSignal
* Verifique que notificações não estão sendo bloqueadas pelas configurações de notificação do Windows

**Problemas de Integração de API**

* Valide se seu OneSignal App ID está correto
* Garanta que você está usando os endpoints de API e autenticação corretos
* Revise códigos de resposta de API e mensagens de erro para solução de problemas

### Considerações de Produção

* Implemente tratamento de erro adequado para todas as chamadas de API OneSignal
* Configure monitoramento para falhas de atualização de URI de canal
* Considere implementar enfileiramento offline para chamadas de API durante problemas de rede
* Planeje para escalar registro de usuário durante períodos de pico de uso do app

Para suporte adicional e orientação de implementação avançada, contate o suporte OneSignal ou explore nossa [documentação de API](/reference/rest-api-overview) abrangente.
