# Adicionar dispositivos de teste para push

Você pode usar Dispositivos de Teste para visualizar como as notificações push aparecem em um dispositivo antes de enviá-las aos usuários do aplicativo. Para fazer isso, você precisa **registrar seu dispositivo** (com seu aplicativo instalado) como um **Dispositivo de Teste**.

Para adicionar um dispositivo de teste:
1. Navegue até a seção **Test devices** (Dispositivos de teste) na sua conta Pushwoosh.

<img src="/test-your-integration-test-devices-1.webp" alt="Seção de dispositivos de teste na conta Pushwoosh"/>

2. Clique no botão suspenso **Add Device** (Adicionar Dispositivo) no canto superior direito e selecione **Push**.

<img src="/test-your-integration-test-devices-2.webp" alt="Botão suspenso Adicionar Dispositivo com a opção Push na seção Dispositivos de Teste"/>

Você pode adicionar um dispositivo de teste para push usando um de dois métodos: Configuração automática com código QR ou configuração manual.

## Adicionando dispositivos de teste automaticamente

Este método é adequado apenas para dispositivos iOS e Android.

1. Na seção **Test Devices**, clique em **Add Device** e selecione **Push**.
2. Escaneie o código QR que aparece no pop-up. Isso irá gerar um deep link que o SDK da Pushwoosh pode analisar para registrar automaticamente seu dispositivo como um dispositivo de teste.
3. Adicione o deep link à configuração do aplicativo:
* **Para Android**: Adicione-o ao arquivo `AndroidManifest.xml`.
* **Para iOS**: Adicione-o ao arquivo `Info.plist`.

Para mais detalhes, siga as instruções para Android e iOS na [seção de Implementação.](/pt/developer/first-steps/test-your-integration/test-devices#implementation)

<Aside type="tip" title="Dica para Leitores de QR">
Certifique-se de que o link escaneado abra no navegador nativo, e não na webview do leitor de QR. Muitos leitores de QR têm um botão "Abrir no Navegador" para este propósito.
</Aside>


## Adicionando dispositivos de teste manualmente

Se você preferir registrar um dispositivo de teste manualmente, siga estes passos:

1. Obtenha o **Hardware ID (HWID)** do dispositivo a partir de uma chamada bem-sucedida à API [`/registerDevice`](/pt/developer/api-reference/device-api#registerdevice).
2. Preencha os campos obrigatórios:
   * **Nome do Dispositivo**: Um nome descritivo para o dispositivo de teste (ex: "Android do João").
   * **HWID do Dispositivo**: O ID de hardware único do dispositivo.
   * **Tipo de Dispositivo**: Selecione a plataforma (ex: iOS, Android, Web).
   * **Descrição (Opcional)**: Adicione quaisquer notas ou detalhes sobre o dispositivo para referência.
3. Clique em **Salvar** para registrar o dispositivo de teste.

Uma vez registrado, o dispositivo de teste estará disponível na seção **Test Devices**.


## Implementação

### Android

1. [Integre o SDK da Pushwoosh](/pt/developer/pushwoosh-sdk/android-sdk/firebase-integration/integrate-pushwoosh-android-sdk/) com seu aplicativo.

2. Adicione a **DeepLinkActivity** ao seu _AndroidManifest.xml_:

```txt
<activity
          android:name="com.pushwoosh.DeepLinkActivity"
          android:theme="@android:style/Theme.Translucent.NoTitleBar" >
  <intent-filter>
    <action android:name="android.intent.action.VIEW" />
    <category android:name="android.intent.category.DEFAULT" />
    <category android:name="android.intent.category.BROWSABLE" />

    <data android:scheme="pushwoosh-YOUR_PUSHWOOSH_APP_ID" />
  </intent-filter>
</activity>
```

Não se esqueça de substituir _YOUR\_PUSHWOOSH\_APP\_ID_ no xml acima pelo seu ID de Aplicativo Pushwoosh.\
Exemplo: _\<data android:scheme="pushwoosh-ABCDE-EDCBA" />_

3. Inicie o aplicativo para se inscrever para notificações push.

4. Escaneie o Código QR no formulário de **Test Devices** usando qualquer aplicativo de scanner de Código QR apropriado*. Uma mensagem toast aparecerá indicando o status do registro do dispositivo de teste.

\* a maioria dos aplicativos de escaneamento de código QR lida com esses deep links corretamente, aqui estão apenas alguns deles:

* [QR & Barcode Scanner, Gamma Play](https://play.google.com/store/apps/details?id=com.gamma.scan)
* [QR & Barcode Scanner, Maker, AppSourceHub](https://play.google.com/store/apps/details?id=qrcode.scanner.qrmaker)

### iOS

1. [Integre o SDK da Pushwoosh](/pt/developer/pushwoosh-sdk/ios-sdk/setting-up-pushwoosh-ios-sdk/) com seu aplicativo.

2. Adicione o esquema de URL _pushwoosh-YOUR\_PUSHWOOSH\_APP\_ID_ ao arquivo _Info.plist_:

```xml
<key>CFBundleURLTypes</key>
<array>
  <dict>
    <key>CFBundleTypeRole</key>
    <string>Editor</string>
    <key>CFBundleURLName</key>
    <string>com.pushwoosh.scheme</string>
    <key>CFBundleURLSchemes</key>
    <array>
      <string>pushwoosh-YOUR_PUSHWOOSH_APP_ID</string>
    </array>
  </dict>
</array>
```

Não se esqueça de substituir _YOUR\_PUSHWOOSH\_APP\_ID_ no XML acima pelo seu ID de Aplicativo Pushwoosh.\
Exemplo: _pushwoosh-ABCDE-EDCBA_

<Aside type="caution">
 **Se o seu projeto for construído apenas com SwiftUI, você precisa adicionar um SceneDelegate**

O SwiftUI gerencia o ciclo de vida do aplicativo de forma diferente do UIKit. Para garantir que certos eventos do sistema funcionem corretamente — como registrar um dispositivo de teste para notificações push ou lidar com deep links — você precisa adicionar e registrar explicitamente um SceneDelegate.

Sem ele, esses eventos podem não ser acionados corretamente, e o registro para push pode falhar.

Se você não estiver usando SwiftUI, pode pular este passo e ir diretamente para o **passo 3**.
</Aside>

**Info.plist**
<details>
  <summary>Adicione `UIApplicationSceneManifest` ao seu `Info.plist`.</summary>

  ```xml
	<key>UIApplicationSceneManifest</key>
	<dict>
		<key>UIApplicationSupportsMultipleScenes</key>
		<true/>
		<key>UISceneConfigurations</key>
		<dict>
			<key>UIWindowSceneSessionRoleApplication</key>
			<array>
				<dict>
					<key>UISceneConfigurationName</key>
					<string></string>
					<key>UISceneDelegateClassName</key>
					<string>$(PRODUCT_MODULE_NAME).SceneDelegate</string>
				</dict>
			</array>
		</dict>
	</dict>
  ```

</details>

**SceneDelegate**
<details>
  <summary>Adicione o código do `SceneDelegate` como mostrado no exemplo abaixo.</summary>

  ```swift
import SwiftUI

@main
struct DemoApp: App {
    @UIApplicationDelegateAdaptor(AppDelegate.self) var appDelegate
    
    var body: some Scene {
        WindowGroup {
            ContentView()
        }
    }
}

class SceneDelegate: NSObject, UIWindowSceneDelegate {
    
    var window: UIWindow?

    func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) {
        guard let _ = (scene as? UIWindowScene) else { return }
    }
}

class AppDelegate: NSObject, UIApplicationDelegate, PWMessagingDelegate {
    
    func application(_ application: UIApplication, configurationForConnecting connectingSceneSession: UISceneSession, options: UIScene.ConnectionOptions) -> UISceneConfiguration {
        let sceneConfig: UISceneConfiguration = UISceneConfiguration(name: nil, sessionRole: connectingSceneSession.role)
        sceneConfig.delegateClass = SceneDelegate.self
        return sceneConfig
    }

}
  ```

</details>

3. Inicie o aplicativo para se inscrever para notificações push.

4. Escaneie o Código QR no formulário de **Test Devices** usando qualquer scanner de Código QR apropriado.