Pushwoosh의 디바이스 식별자 이해하기
Pushwoosh에 등록된 특정 디바이스를 식별하는 방법에는 하드웨어 ID(HWID)와 푸시 토큰의 두 가지가 있습니다.
HWID
Anchor link toHWID(하드웨어 ID)는 Pushwoosh SDK가 디바이스에 할당하는 핵심 식별자입니다.
Android HWID
Anchor link toAndroid 디바이스의 경우, HWID는 디바이스에 설치된 Pushwoosh SDK가 포함된 첫 번째 앱에 의해 생성되는 임의의 문자와 숫자 집합입니다. 이후 Pushwoosh SDK가 포함된 다른 앱과 공유되어 결과적으로 모든 해당 앱이 동일한 HWID를 갖게 됩니다.
하지만 사용자가 Pushwoosh SDK가 포함된 모든 앱을 삭제한 후 일부를 다시 설치하면 새로운 HWID가 다시 생성됩니다.
Android HWID 예시: 5dcaed99-e1e0-44dc-bde2-b96188b99e9e
iOS HWID
Anchor link toiOS 디바이스의 경우, IDFV(Identifier for Vendor)가 디바이스의 HWID로 사용됩니다. 동일한 공급업체의 앱이 하나 이상 디바이스에 설치되어 있는 한 변경되지 않습니다.
iOS HWID 예시(대문자만 사용!): CBAF8ED1-17FB-49A3-73BD-DC79B63AEF93
푸시 토큰
Anchor link to푸시 토큰(디바이스 토큰)은 Apple 또는 Google 푸시 알림 게이트웨이에서 발급하는 앱-디바이스 조합을 위한 고유 키입니다. 이를 통해 게이트웨이와 푸시 알림 제공업체는 메시지를 라우팅하고 의도된 고유한 앱-디바이스 조합으로 알림이 전달되도록 보장할 수 있습니다.
iOS 푸시 토큰
Anchor link toiOS 디바이스 푸시 토큰은 64개의 16진수 기호로 구성된 문자열입니다. iOS 푸시 토큰 예시: 03df25c845d460bcdad7802d2vf6fc1dfde97283bf75cc993eb6dca835ea2e2f
Android 푸시 토큰
Anchor link toAndroid 디바이스 푸시 토큰은 길이가 다를 수 있으며(보통 255자 미만) 일반적으로 APA91b…로 시작하지만, 콜론으로 구분된 접두사가 있을 수도 있습니다. Android 푸시 토큰 예시: APA91bFoi3lMMre9G3XzR1LrF4ZT82_15MsMdEICogXSLB8-MrdkRuRQFwNI5u8Dh0cI90ABD3BOKnxkEla8cGdisbDHl5cVIkZah5QUhSAxzx4Roa7b4xy9tvx9iNSYw-eXBYYd8k1XKf8Q_Qq1X9-x-U-Y79vdPq
디바이스에서 로그, HWID, 푸시 토큰 수집하기
Anchor link to먼저, 앱의 소스 코드에 접근할 수 있는 경우 앱의 Pushwoosh_LOG_LEVEL이 VERBOSE로 설정되어 있는지 확인하세요. 이를 위해 Info.plist 파일에서 Pushwoosh_LOG_LEVEL 문자열 키를 확인합니다. 그렇지 않은 경우 다음 단계로 건너뛰세요. 이 키에 사용할 수 있는 값은 다음과 같습니다:
NONE- SDK에서 로그 없음ERROR- 콘솔에 오류만 표시WARNING- 경고도 표시INFO- 정보 메시지 추가DEBUG- 디버그 정보 추가VERBOSE- SDK의 모든 로그
VERBOSE 키 값을 사용하면 Pushwoosh SDK가 등록 작업과 관련된 중요한 정보를 표시할 수 있습니다.
- 다음으로, 디바이스를 Mac에 연결하고 Xcode를 실행합니다. Window->Device and Simulators로 이동합니다.

- 열린 창에서 연결된 디바이스를 선택하고 왼쪽 하단의 위쪽 삼각형을 클릭하여 디바이스 콘솔을 봅니다:

Xcode 9.3 버전부터 디바이스 콘솔 로그를 얻는 과정이 약간 변경되었습니다. Launchpad로 이동하여 “콘솔” 애플리케이션을 시작하기만 하면 됩니다. 왼쪽 사이드바에서 디바이스를 선택하세요. 이것으로 끝입니다!

-
다음으로, 디바이스에서 앱을 시작하고 대화 상자 창을 기다립니다. 앱에 대한 푸시 알림을 허용합니다.
-
이 단계가 끝나면 콘솔 창에서 전체 디바이스 로그를 선택하여 텍스트 편집기에 복사합니다.
찾고 있는 것은 /registerDevice Pushwoosh API 요청입니다:

디바이스가 올바르게 등록된 경우, 이 요청에는 “hwid”와 “push token” 값을 포함한 다음 파라미터가 포함되어야 합니다:
x| Pushwoosh request:| Url: https://D868A-C13C1.api.pushwoosh.com/json/1.3/registerDevice| Payload: {"request":{"gateway":"production","jailbroken":0,"app_version":"1.9","application":"D868A-C13C1","sounds":["bubble.wav"],"device_type":1,"userId":"1457691684303547","language":"en","hwid":"FBCA07FE-05EE-4770-B4BA-AB6737BC1A98","package":"com.pushwoosh.pushon","timezone":"25200","push_token":"ae784019d1b8c8e38a1ea06f0800c17a4fa986d6e2d346fc79373e92439ff8f7","os_version":"11.2.2","v":"5.5.1","device_model":"iPhone7,1"}}| Status: "200 no error"| Response: {"status_code":200,"status_message":"OK","response":{"iosCategories":[{"categoryId":0,"buttons":[{"id":"33389","label":"test","type":"0","startApplication":0},{"id":"1233","label":"ajhdkj","type":"1","startApplication":0}]}]}}x디바이스의 푸시 토큰이 포함된 알림도 표시되어야 합니다:
<Notice>: [PW] [I] -[PWPushNotificationsManagerCommon] Registered for push notifications: ae784019d1b8c8e38a1ea06f0800c17a4fa986d6e2d346fc79373e92439ff8f7Android
Anchor link to-
앱의 소스 코드에 접근할 수 있는 경우, Pushwoosh 로그 레벨이
NOISE로 설정되어 있는지 확인하세요. 이를 위해AndroidManifest.xml에 값이NOISE인com.pushwoosh.log_level메타 데이터를 추가합니다. -
다음으로, Mac/PC에서 Android Studio를 실행하고 Tools -> Android -> Android Device Monitor로 이동합니다.

- 디바이스를 Mac/PC에 연결하고 앱을 실행합니다. 약 30초 정도 기다린 후, 콘솔 창에서 전체 디바이스 로그를 선택하여 텍스트 편집기에 복사합니다.

최신 버전의 Android Studio에서는 Logcat 도구를 사용하여 디바이스 콘솔 로그를 얻을 수도 있습니다. Android Studio를 실행하고 View -> Tool Windows -> Logcat으로 이동하세요:

그 후, Logcat 창에서 디바이스 로그를 찾을 수 있습니다:

아래는 디바이스 콘솔 로그 내에서 Pushwoosh /registerDevice API 요청이 어떻게 보이는지에 대한 예시입니다:

요청에서 “hwid”와 “push token” 파라미터 값을 찾으세요:
[RequestManager]x| Pushwoosh request:| Url: https://D868A-C13C1.api.pushwoosh.com/json/1.3/registerDevice| Payload: {"request":{"application":"D868A-C13C1","hwid":"fc79efabee7649ec","v":"5.5.2","device_type":3,"userId":"fc79efabee7649ec","device_name":"Phone","language":"en","timezone":25200,"android_package":"com.pushwoosh.pushon","jailbroken":0,"device_model":"Sony F8332","os_version":"8.0.0","idfa":"d43ad490-4e6a-48a8-b8b9-f20b76fbf07b","app_version":"1.5","push_token":"dwMAeCRabUE:APA91bGSk8SqCSycxfltrWCV9KtXGo48-8qvNKfzHn758PW7lLXSi_Wd7y3gqw-lbexsjLwsaXStpELTJUAQVZ3ybNqAUmfw-we-62rTjpNbvBa4oPYTwaPCr3s4M05xNv8jGau-MeA_","sounds":"[]"}}| Response: {"status_code":200,"status_message":"OK","response":null}x[RequestManager] registerDevice response success푸시 토큰은 디바이스 등록 알림에 포함되어 있습니다:
I/Pushwoosh(12733): [DeviceRegistrar] Registered for pushes: dwMAeCRabUE:APA91bGSk8SqCSycxfltrWCV9KtXGo48-8qvNKfzHn758PW7lLXSi_Wd7y3gqw-lbexsjLwsaXStpELTJUAQVZ3ybNqAUmfw-we-62rTjpNbvBa4oPYTwaPCr3s4M05xNv8jGau-MeA_03-30 14:45:10.539: D/PushOn(12733): Registered for push notificationsChrome (데스크톱)
Anchor link to-
웹사이트로 이동합니다.
-
페이지의 아무 곳이나 마우스 오른쪽 버튼으로 클릭하고 “Inspect”를 누릅니다.

-
열린 창에서 “Application” 탭으로 이동합니다.
-
그런 다음 왼쪽 사이드바에서 IndexedDB -> Pushwoosh_SDK_Store -> keyValue를 선택합니다. 여기서 HWID와 푸시 토큰 파라미터를 찾습니다.

Chrome (모바일)
Anchor link to-
모바일 디바이스를 컴퓨터에 연결합니다.
-
데스크톱 Chrome에서 chrome://inspect/#devices로 이동합니다.
-
모바일 Chrome에서 웹사이트를 엽니다.
-
모바일 Chrome에서 웹사이트가 열리면 데스크톱 Chrome 페이지 내에서 해당 페이지를 볼 수 있습니다. 아래 스크린샷을 참조하세요:

-
위 스크린샷에서 강조 표시된 “Inspect” 버튼을 누릅니다.
-
다음 창이 데스크톱 Chrome에 나타납니다. 거기서 “Application” 탭 내에서 IndexedDB -> PUSHWOOSH_SDK_STORE를 엽니다. 그 후 keyValue를 클릭하고 API_PARAMS 섹션을 엽니다:

API_PARAMS 섹션에서 “hwid”와 “push token” 파라미터와 그 값을 찾을 수 있습니다.
Safari
Anchor link to- 웹사이트로 이동합니다.
- 페이지의 아무 곳이나 마우스 오른쪽 버튼으로 클릭하고 Inspect Element를 선택합니다.
- Storage 탭 -> Indexed Databases -> PUSHWOOSH_SDK_STORE -> keyValue로 이동합니다.
- API_PARAMS를 확장하고 여기서 “hwid”와 “push token” 값을 찾습니다.
