Перейти к содержанию

Добавление тестовых push-устройств

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

Чтобы добавить тестовое устройство:

  1. Перейдите в раздел Test devices в вашем аккаунте Pushwoosh.
Раздел Test devices в аккаунте Pushwoosh
  1. Нажмите на выпадающую кнопку Create test device в правом верхнем углу и выберите Push.
Выпадающая кнопка Create test device с опцией Push в разделе Test Devices

Вы можете добавить тестовое push-устройство одним из трех способов: автоматическая настройка с помощью QR-кода, регистрация из приложения или ручная настройка.

Автоматическое добавление тестовых устройств

Anchor link to

Этот метод подходит только для устройств на iOS и Android.

Перед первой регистрацией добавьте в приложение обработку диплинков для тестовых устройств — это одноразовая настройка, которая обычно выполняется вместе с интеграцией Pushwoosh SDK:

  • Для Android: добавьте DeepLinkActivity в файл AndroidManifest.xml.
  • Для iOS: добавьте URL-схему pushwoosh-YOUR_PUSHWOOSH_APP_ID в файл Info.plist.

Следуйте инструкциям для Android и iOS в разделе Реализация.

После этого, чтобы зарегистрировать устройство:

  1. В разделе Test Devices нажмите Create test device и выберите Push.
  2. Отсканируйте QR-код, который появится во всплывающем окне, с помощью любого приложения для сканирования QR-кодов. Это откроет диплинк, который Pushwoosh SDK обработает для регистрации вашего устройства в качестве тестового.
Диалоговое окно Add Test Device с QR-кодом для автоматической настройки слева и полями для ручной настройки HWID справа

Регистрация тестового устройства из приложения

Anchor link to

Независимо от метода с QR-кодом, описанного выше, Pushwoosh SDK может самостоятельно зарегистрировать текущее устройство как тестовое: для этого нужно 6 раз в течение 30 секунд перевести приложение в фоновый режим и вернуть его на передний план. Сканирование или ручной ввод не требуются.

Чтобы предотвратить случайные регистрации, это работает только в течение 1-часового окна регистрации.

  1. В разделе Test Devices включите переключатель Add test devices from the app. Это откроет окно регистрации на 1 час.
Заголовок страницы Test Devices с переключателем Add test devices from the app и кнопкой Create test device
  1. Пока окно открыто, 6 раз в течение 30 секунд переведите приложение в фоновый режим и верните на передний план. Устройство будет добавлено в список Test Devices.

Добавление тестовых устройств вручную

Anchor link to

Если вы предпочитаете регистрировать тестовое устройство вручную, выполните следующие действия:

  1. Получите Hardware ID (HWID) устройства из успешного вызова API /registerDevice.
  2. Заполните обязательные поля:
    • Device Name: Описательное имя для тестового устройства (например, «John’s Android»).
    • Device HWID: Уникальный аппаратный идентификатор устройства.
    • Device Type: Выберите платформу (например, iOS, Android, Web).
    • Description (Optional): Добавьте любые заметки или детали об устройстве для справки.
  3. Нажмите Save, чтобы зарегистрировать тестовое устройство.

После регистрации тестовое устройство будет доступно в разделе Test Devices.

Регистрация тестовых устройств через API

Anchor link to

Для добавления тестовых устройств из скрипта или CI/CD-пайплайна вместо ручного ввода, вызовите createTestDevice с push-токеном устройства — не с HWID, который используется в ручной форме, а с другим идентификатором, полученным тем же способом, например, из успешного вызова /registerDevice. Метод listTestDevices возвращает уже зарегистрированные для приложения устройства.

Реализация

Anchor link to
  1. Интегрируйте Pushwoosh SDK с вашим приложением.

  2. Добавьте 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” />

  1. Запустите приложение, чтобы подписаться на push-уведомления.

  2. Отсканируйте QR-код в форме Test Devices с помощью любого подходящего приложения для сканирования QR-кодов*. Появится всплывающее сообщение со статусом регистрации тестового устройства.

* большинство приложений для сканирования QR-кодов правильно обрабатывают такие диплинки, вот лишь некоторые из них:

  1. Интегрируйте Pushwoosh SDK с вашим приложением.

  2. Добавьте 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
@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
}
}
  1. Запустите приложение, чтобы подписаться на push-уведомления.

  2. Отсканируйте QR-код в форме Test Devices с помощью любого подходящего сканера QR-кодов.