# Ajouter des appareils de test pour les notifications push

Vous pouvez utiliser les appareils de test pour prévisualiser l'apparence des notifications push sur un appareil avant de les envoyer aux utilisateurs de l'application. Pour ce faire, vous devez **enregistrer votre appareil** (avec votre application installée) en tant qu'**appareil de test**.

Pour ajouter un appareil de test :
1. Accédez à la section **Appareils de test** dans votre compte Pushwoosh.

<img src="/test-your-integration-test-devices-1.webp" alt="Section Appareils de test dans le compte Pushwoosh"/>

2. Cliquez sur le bouton déroulant **Ajouter un appareil** dans le coin supérieur droit et sélectionnez **Push**.

<img src="/test-your-integration-test-devices-2.webp" alt="Bouton déroulant Ajouter un appareil avec l'option Push dans la section Appareils de test"/>

Vous pouvez ajouter un appareil de test pour les notifications push en utilisant l'une des deux méthodes suivantes : la configuration automatique avec un code QR ou la configuration manuelle.

## Ajout automatique des appareils de test

Cette méthode ne convient qu'aux appareils iOS et Android.

1. Dans la section **Appareils de test**, cliquez sur **Ajouter un appareil** et sélectionnez **Push**.
2. Scannez le code QR qui apparaît dans la fenêtre contextuelle. Cela générera un lien profond que le SDK Pushwoosh peut analyser pour enregistrer automatiquement votre appareil comme appareil de test.
3. Ajoutez le lien profond à la configuration de l'application :
* **Pour Android** : Ajoutez-le au fichier `AndroidManifest.xml`.
* **Pour iOS** : Ajoutez-le au fichier `Info.plist`.

Pour plus de détails, suivez les instructions pour Android et iOS dans la [section Implémentation](/fr/developer/first-steps/test-your-integration/test-devices#implementation).

<Aside type="tip" title="Conseil pour les lecteurs de QR">
Assurez-vous que le lien scanné s'ouvre dans le navigateur natif, et non dans la vue web du lecteur de QR. De nombreux lecteurs de QR disposent d'un bouton « Ouvrir dans le navigateur » à cet effet.
</Aside>


## Ajout manuel des appareils de test

Si vous préférez enregistrer un appareil de test manuellement, suivez ces étapes :

1. Obtenez l'**ID matériel (HWID)** de l'appareil à partir d'un appel API [`/registerDevice`](/fr/developer/api-reference/device-api#registerdevice) réussi.
2. Remplissez les champs obligatoires :
   * **Nom de l'appareil** : Un nom descriptif pour l'appareil de test (par ex., « Android de John »).
   * **HWID de l'appareil** : L'identifiant matériel unique de l'appareil.
   * **Type d'appareil** : Sélectionnez la plateforme (par ex., iOS, Android, Web).
   * **Description (Facultatif)** : Ajoutez des notes ou des détails sur l'appareil pour référence.
3. Cliquez sur **Enregistrer** pour enregistrer l'appareil de test.

Une fois enregistré, l'appareil de test sera disponible dans la section **Appareils de test**.


## Implémentation

### Android

1. [Intégrez le SDK Pushwoosh](/fr/developer/pushwoosh-sdk/android-sdk/firebase-integration/integrate-pushwoosh-android-sdk/) à votre application.

2. Ajoutez **DeepLinkActivity** à votre _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'oubliez pas de remplacer _YOUR\_PUSHWOOSH\_APP\_ID_ dans le XML ci-dessus par votre ID d'application Pushwoosh.\
Exemple : _\<data android:scheme="pushwoosh-ABCDE-EDCBA" />_

3. Lancez l'application pour vous abonner aux notifications push.

4. Scannez le code QR dans le formulaire **Appareils de test** à l'aide d'une application de scanner de code QR appropriée*. Un message toast apparaîtra indiquant l'état de l'enregistrement de l'appareil de test.

\* la plupart des applications de scan de code QR gèrent correctement ces liens profonds, en voici quelques-unes :

* [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. [Intégrez le SDK Pushwoosh](/fr/developer/pushwoosh-sdk/ios-sdk/setting-up-pushwoosh-ios-sdk/) à votre application.

2. Ajoutez le schéma d'URL _pushwoosh-YOUR\_PUSHWOOSH\_APP\_ID_ au fichier _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'oubliez pas de remplacer _YOUR\_PUSHWOOSH\_APP\_ID_ dans le XML ci-dessus par votre ID d'application Pushwoosh.\
Exemple : _pushwoosh-ABCDE-EDCBA_

<Aside type="caution">
 **Si votre projet est construit avec SwiftUI (uniquement), vous devez ajouter un SceneDelegate**

SwiftUI gère le cycle de vie de l'application différemment d'UIKit. Pour garantir que certains événements système fonctionnent correctement — comme l'enregistrement d'un appareil de test pour les notifications push ou la gestion des liens profonds — vous devez explicitement ajouter et enregistrer un SceneDelegate.

Sans cela, ces événements pourraient ne pas être déclenchés correctement, et l'enregistrement pour les notifications push peut échouer.

Si vous n'utilisez pas SwiftUI, vous pouvez sauter cette étape et passer directement à l'**étape 3**.
</Aside>

**Info.plist**
<details>
  <summary>Ajoutez `UIApplicationSceneManifest` à votre `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>Ajoutez le code `SceneDelegate` comme indiqué dans l'exemple ci-dessous.</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. Lancez l'application pour vous abonner aux notifications push.

4. Scannez le code QR dans le formulaire **Appareils de test** à l'aide d'un scanner de code QR approprié.