Добавление тестовых push-устройств
Вы можете использовать тестовые устройства (Test Devices) для предварительного просмотра push-уведомлений на устройстве перед их отправкой пользователям приложения. Для этого вам необходимо зарегистрировать ваше устройство (с установленным на нем приложением) в качестве тестового устройства (Test Device).
Чтобы добавить тестовое устройство:
- Перейдите в раздел Test devices в вашем аккаунте Pushwoosh.

- Нажмите на выпадающую кнопку Create test device в правом верхнем углу и выберите Push.

Вы можете добавить тестовое push-устройство одним из трех способов: автоматическая настройка с помощью QR-кода, регистрация из приложения или ручная настройка.
Автоматическое добавление тестовых устройств
Anchor link toЭтот метод подходит только для устройств на iOS и Android.
Перед первой регистрацией добавьте в приложение обработку диплинков для тестовых устройств — это одноразовая настройка, которая обычно выполняется вместе с интеграцией Pushwoosh SDK:
- Для Android: добавьте DeepLinkActivity в файл
AndroidManifest.xml. - Для iOS: добавьте URL-схему
pushwoosh-YOUR_PUSHWOOSH_APP_IDв файлInfo.plist.
Следуйте инструкциям для Android и iOS в разделе Реализация.
После этого, чтобы зарегистрировать устройство:
- В разделе Test Devices нажмите Create test device и выберите Push.
- Отсканируйте QR-код, который появится во всплывающем окне, с помощью любого приложения для сканирования QR-кодов. Это откроет диплинк, который Pushwoosh SDK обработает для регистрации вашего устройства в качестве тестового.

Регистрация тестового устройства из приложения
Anchor link toНезависимо от метода с QR-кодом, описанного выше, Pushwoosh SDK может самостоятельно зарегистрировать текущее устройство как тестовое: для этого нужно 6 раз в течение 30 секунд перевести приложение в фоновый режим и вернуть его на передний план. Сканирование или ручной ввод не требуются.
Чтобы предотвратить случайные регистрации, это работает только в течение 1-часового окна регистрации.
- В разделе Test Devices включите переключатель Add test devices from the app. Это откроет окно регистрации на 1 час.

- Пока окно открыто, 6 раз в течение 30 секунд переведите приложение в фоновый режим и верните на передний план. Устройство будет добавлено в список Test Devices.
Добавление тестовых устройств вручную
Anchor link toЕсли вы предпочитаете регистрировать тестовое устройство вручную, выполните следующие действия:
- Получите Hardware ID (HWID) устройства из успешного вызова API
/registerDevice. - Заполните обязательные поля:
- Device Name: Описательное имя для тестового устройства (например, «John’s Android»).
- Device HWID: Уникальный аппаратный идентификатор устройства.
- Device Type: Выберите платформу (например, iOS, Android, Web).
- Description (Optional): Добавьте любые заметки или детали об устройстве для справки.
- Нажмите Save, чтобы зарегистрировать тестовое устройство.
После регистрации тестовое устройство будет доступно в разделе Test Devices.
Регистрация тестовых устройств через API
Anchor link toДля добавления тестовых устройств из скрипта или CI/CD-пайплайна вместо ручного ввода, вызовите createTestDevice с push-токеном устройства — не с HWID, который используется в ручной форме, а с другим идентификатором, полученным тем же способом, например, из успешного вызова /registerDevice. Метод listTestDevices возвращает уже зарегистрированные для приложения устройства.
Реализация
Anchor link toAndroid
Anchor link to-
Интегрируйте Pushwoosh SDK с вашим приложением.
-
Добавьте DeepLinkActivity в ваш AndroidManifest.xml:
<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>Не забудьте заменить YOUR_PUSHWOOSH_APP_ID в приведенном выше xml на ваш Pushwoosh App ID.
Пример: <data android:scheme=“pushwoosh-ABCDE-EDCBA” />
-
Запустите приложение, чтобы подписаться на push-уведомления.
-
Отсканируйте QR-код в форме Test Devices с помощью любого подходящего приложения для сканирования QR-кодов*. Появится всплывающее сообщение со статусом регистрации тестового устройства.
* большинство приложений для сканирования QR-кодов правильно обрабатывают такие диплинки, вот лишь некоторые из них:
-
Интегрируйте Pushwoosh SDK с вашим приложением.
-
Добавьте URL-схему pushwoosh-YOUR_PUSHWOOSH_APP_ID в файл Info.plist:
<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>Не забудьте заменить YOUR_PUSHWOOSH_APP_ID в приведенном выше XML на ваш Pushwoosh App ID.
Пример: pushwoosh-ABCDE-EDCBA
Info.plist
Добавьте UIApplicationSceneManifest в ваш Info.plist.
<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>SceneDelegate
Добавьте код SceneDelegate, как показано в примере ниже.
import SwiftUI
@mainstruct 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 }
}-
Запустите приложение, чтобы подписаться на push-уведомления.
-
Отсканируйте QR-код в форме Test Devices с помощью любого подходящего сканера QR-кодов.