# Añadir dispositivos de prueba push

Puede utilizar Dispositivos de Prueba para previsualizar el aspecto de las notificaciones push en un dispositivo antes de enviarlas a los usuarios de la aplicación. Para ello, necesita **registrar su dispositivo** (con su aplicación instalada) como un **Dispositivo de Prueba**.

Para añadir un dispositivo de prueba:
1. Navegue a la sección **Dispositivos de prueba** en su cuenta de Pushwoosh.

<img src="/test-your-integration-test-devices-1.webp" alt="Sección de dispositivos de prueba en la cuenta de Pushwoosh"/>

2. Haga clic en el botón desplegable **Añadir Dispositivo** en la esquina superior derecha y seleccione **Push**.

<img src="/test-your-integration-test-devices-2.webp" alt="Botón desplegable Añadir Dispositivo con la opción Push en la sección Dispositivos de Prueba"/>

Puede añadir un dispositivo de prueba push utilizando uno de los dos métodos: Configuración automática con código QR o configuración manual.

## Añadir dispositivos de prueba automáticamente

Este método solo es adecuado para dispositivos iOS y Android.

1. En la sección **Dispositivos de Prueba**, haga clic en **Añadir Dispositivo** y seleccione **Push**.
2. Escanee el código QR que aparece en la ventana emergente. Esto generará un deep link que el SDK de Pushwoosh puede analizar para registrar automáticamente su dispositivo como un dispositivo de prueba.
3. Añada el deep link a la configuración de la aplicación:
* **Para Android**: Añádalo al archivo `AndroidManifest.xml`.
* **Para iOS**: Añádalo al archivo `Info.plist`.

Para más detalles, siga las instrucciones para Android e iOS en la [sección de Implementación.](/es/developer/first-steps/test-your-integration/test-devices#implementation)

<Aside type="tip" title="Consejo para lectores de QR">
Asegúrese de que el enlace escaneado se abra en el navegador nativo, no en la vista web del lector de QR. Muchos lectores de QR tienen un botón "Abrir en el navegador" para este propósito.
</Aside>


## Añadir dispositivos de prueba manualmente

Si prefiere registrar un dispositivo de prueba manualmente, siga estos pasos:

1. Obtenga el **ID de Hardware (HWID)** del dispositivo de una llamada exitosa a la API [`/registerDevice`](/es/developer/api-reference/device-api#registerdevice).
2. Rellene los campos obligatorios:
   * **Nombre del Dispositivo**: Un nombre descriptivo para el dispositivo de prueba (p. ej., "Android de Juan").
   * **HWID del Dispositivo**: El ID de hardware único del dispositivo.
   * **Tipo de Dispositivo**: Seleccione la plataforma (p. ej., iOS, Android, Web).
   * **Descripción (Opcional)**: Añada cualquier nota o detalle sobre el dispositivo como referencia.
3. Haga clic en **Guardar** para registrar el dispositivo de prueba.

Una vez registrado, el dispositivo de prueba estará disponible en la sección **Dispositivos de Prueba**.


## Implementación

### Android

1. [Integre el SDK de Pushwoosh](/es/developer/pushwoosh-sdk/android-sdk/firebase-integration/integrate-pushwoosh-android-sdk/) con su aplicación.

2. Añada **DeepLinkActivity** a su _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>
```

No olvide reemplazar _YOUR\_PUSHWOOSH\_APP\_ID_ en el xml anterior con su ID de Aplicación de Pushwoosh.\
Ejemplo: _\<data android:scheme="pushwoosh-ABCDE-EDCBA" />_

3. Inicie la aplicación para suscribirse a las notificaciones push.

4. Escanee el Código QR en el formulario de **Dispositivos de Prueba** utilizando cualquier aplicación de escáner de Códigos QR apropiada*. Aparecerá un mensaje emergente (toast) indicando el estado del registro del dispositivo de prueba.

\* la mayoría de las aplicaciones de escaneo de códigos QR manejan estos deep links correctamente, aquí hay solo algunas de ellas:

* [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 el SDK de Pushwoosh](/es/developer/pushwoosh-sdk/ios-sdk/setting-up-pushwoosh-ios-sdk/) con su aplicación.

2. Añada el esquema de URL _pushwoosh-YOUR\_PUSHWOOSH\_APP\_ID_ al archivo _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>
```

No olvide reemplazar _YOUR\_PUSHWOOSH\_APP\_ID_ en el XML anterior con su ID de Aplicación de Pushwoosh.\
Ejemplo: _pushwoosh-ABCDE-EDCBA_

<Aside type="caution">
 **Si su proyecto está construido solo con SwiftUI, necesita añadir un SceneDelegate**

SwiftUI gestiona el ciclo de vida de la aplicación de forma diferente a UIKit. Para asegurar que ciertos eventos del sistema funcionen correctamente — como registrar un dispositivo de prueba para notificaciones push o manejar deep links — necesita añadir y registrar explícitamente un SceneDelegate.

Sin él, estos eventos podrían no activarse correctamente y el registro de push puede fallar.

Si no está usando SwiftUI, puede omitir este paso e ir directamente al **paso 3**.
</Aside>

**Info.plist**
<details>
  <summary>Añada `UIApplicationSceneManifest` a su `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>Añada el código del `SceneDelegate` como se muestra en el ejemplo a continuación.</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 la aplicación para suscribirse a las notificaciones push.

4. Escanee el Código QR en el formulario de **Dispositivos de Prueba** utilizando cualquier escáner de Códigos QR apropiado.