테스트 푸시 디바이스 추가
Test Devices를 사용하여 앱 사용자에게 푸시 알림을 보내기 전에 디바이스에서 어떻게 보이는지 미리 볼 수 있습니다. 이를 위해서는 (앱이 설치된) 디바이스를 테스트 디바이스로 등록해야 합니다.
테스트 디바이스를 추가하려면:
- Pushwoosh 계정의 Test devices 섹션으로 이동합니다.

- 오른쪽 상단의 Create test device 드롭다운 버튼을 클릭하고 Push를 선택합니다.

푸시 테스트 디바이스는 QR 코드를 사용한 자동 구성, 앱에서 등록, 또는 수동 구성의 세 가지 방법 중 하나를 사용하여 추가할 수 있습니다.
테스트 디바이스 자동 추가
Anchor link to이 방법은 iOS 및 Android 디바이스에만 적합합니다.
첫 등록 전에, 테스트 디바이스를 위한 딥 링크 처리를 앱에 추가해야 합니다. 이는 일반적으로 Pushwoosh SDK 통합과 함께 수행되는 일회성 설정입니다:
- Android의 경우:
AndroidManifest.xml파일에 DeepLinkActivity를 추가합니다. - iOS의 경우:
Info.plist파일에pushwoosh-YOUR_PUSHWOOSH_APP_IDURL 스킴을 추가합니다.
구현 섹션에서 Android 및 iOS에 대한 지침을 따르세요.
이 작업이 완료되면, 디바이스를 등록하려면:
- Test Devices 섹션에서 Create test device를 클릭하고 Push를 선택합니다.
- 팝업에 나타나는 QR 코드를 QR 스캐너 앱으로 스캔합니다. 이렇게 하면 Pushwoosh SDK가 파싱하여 디바이스를 테스트 디바이스로 등록하는 딥 링크가 열립니다.

앱에서 테스트 디바이스 등록
Anchor link to위의 QR 코드 방법과 별개로, Pushwoosh SDK는 현재 디바이스를 자체적으로 테스트 디바이스로 등록할 수 있습니다: 30초 이내에 앱을 백그라운드로 보냈다가 다시 포그라운드로 6번 가져오면 됩니다. 스캔이나 수동 입력이 필요하지 않습니다.
의도하지 않은 등록을 방지하기 위해, 이 기능은 1시간의 등록 창이 열려 있는 동안에만 작동합니다.
- Test Devices 섹션에서 Add test devices from the app 토글을 켭니다. 이렇게 하면 1시간 동안 창이 열립니다.

- 창이 열려 있는 동안, 30초 이내에 앱을 6번 백그라운드와 포그라운드로 전환합니다. 디바이스가 Test Devices 목록에 추가됩니다.
테스트 디바이스 수동 추가
Anchor link to테스트 디바이스를 수동으로 등록하려면 다음 단계를 따르세요:
- 성공적인
/registerDeviceAPI 호출에서 디바이스의 **하드웨어 ID(HWID)**를 얻습니다. - 필수 필드를 채웁니다:
- 디바이스 이름: 테스트 디바이스에 대한 설명적인 이름 (예: “John의 Android”).
- 디바이스 HWID: 디바이스의 고유한 하드웨어 ID.
- 디바이스 유형: 플랫폼을 선택합니다 (예: iOS, Android, Web).
- 설명(선택 사항): 참조용으로 디바이스에 대한 메모나 세부 정보를 추가합니다.
- 저장을 클릭하여 테스트 디바이스를 등록합니다.
등록이 완료되면, 테스트 디바이스는 Test Devices 섹션에서 사용할 수 있습니다.
API를 통한 테스트 디바이스 등록
Anchor link to수동 양식 대신 스크립트나 CI 파이프라인에서 테스트 디바이스를 프로비저닝하려면, 디바이스의 푸시 토큰으로 createTestDevice를 호출하세요. 이는 수동 양식에서 사용되는 HWID가 아니며, 성공적인 /registerDevice 호출 등 동일한 방식으로 얻은 다른 식별자입니다. listTestDevices는 애플리케이션에 이미 등록된 내용을 반환합니다.
Android
Anchor link to-
애플리케이션에 Pushwoosh SDK를 통합합니다.
-
_AndroidManifest.xml_에 DeepLinkActivity를 추가합니다:
<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>위의 xml에서 _YOUR_PUSHWOOSH_APP_ID_를 Pushwoosh 앱 ID로 바꾸는 것을 잊지 마세요.
예: <data android:scheme=“pushwoosh-ABCDE-EDCBA” />
-
애플리케이션을 실행하여 푸시 알림을 구독합니다.
-
Test Devices 양식의 QR 코드를 적절한 QR 코드 스캐너 앱*으로 스캔합니다. 테스트 디바이스 등록 상태를 나타내는 토스트 메시지가 나타납니다.
-
대부분의 QR 코드 스캔 앱은 이러한 딥 링크를 제대로 처리합니다. 다음은 그중 일부입니다:
-
애플리케이션에 Pushwoosh SDK를 통합합니다.
-
Info.plist 파일에 pushwoosh-YOUR_PUSHWOOSH_APP_ID URL 스킴을 추가합니다:
<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>위의 XML에서 _YOUR_PUSHWOOSH_APP_ID_를 Pushwoosh 앱 ID로 바꾸는 것을 잊지 마세요.
예: pushwoosh-ABCDE-EDCBA
Info.plist
Info.plist에 UIApplicationSceneManifest를 추가하세요.
<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 }
}-
애플리케이션을 실행하여 푸시 알림을 구독합니다.
-
Test Devices 양식의 QR 코드를 적절한 QR 코드 스캐너로 스캔합니다.