Pular para o conteúdo

Entendendo os identificadores de dispositivo no Pushwoosh

Existem duas maneiras de identificar um dispositivo específico registrado no Pushwoosh – um ID de hardware (HWID) e um push token.

HWID (ou Hardware ID) é um identificador chave atribuído ao dispositivo pelo SDK da Pushwoosh.

HWID do Android

Anchor link to

Para dispositivos Android, o HWID é um conjunto aleatório de letras e dígitos gerado pelo primeiro aplicativo com o SDK da Pushwoosh instalado no dispositivo. Ele é posteriormente compartilhado com outros aplicativos que contêm o SDK da Pushwoosh, de modo que todos esses aplicativos terão o mesmo HWID como resultado.

No entanto, se um usuário excluir todos os aplicativos com o SDK da Pushwoosh e depois reinstalar alguns, um novo HWID será gerado novamente.

Exemplo de HWID do Android: 5dcaed99-e1e0-44dc-bde2-b96188b99e9e

HWID do iOS

Anchor link to

Para dispositivos iOS, o IDFV (Identifier for Vendor) é usado como HWID do dispositivo. Ele não mudará enquanto houver pelo menos um aplicativo do mesmo fornecedor instalado no dispositivo.

Exemplo de HWID do iOS (somente em maiúsculas!): CBAF8ED1-17FB-49A3-73BD-DC79B63AEF93

Push token

Anchor link to

Push token (token do dispositivo) é uma chave única para a combinação aplicativo-dispositivo emitida pelos gateways de notificação push da Apple ou do Google. Ele permite que gateways e provedores de notificação push roteiem mensagens e garantam que a notificação seja entregue à combinação única aplicativo-dispositivo para a qual se destina.

Push token do iOS

Anchor link to

Os push tokens de dispositivos iOS são strings com 64 símbolos hexadecimais. Exemplo de push token do iOS: 03df25c845d460bcdad7802d2vf6fc1dfde97283bf75cc993eb6dca835ea2e2f

Push token do Android

Anchor link to

Os push tokens de dispositivos Android podem diferir em comprimento (geralmente abaixo de 255 caracteres) e normalmente começam com APA91b…; no entanto, também podem ter um prefixo separado por dois pontos. Exemplo de push token do Android: APA91bFoi3lMMre9G3XzR1LrF4ZT82_15MsMdEICogXSLB8-MrdkRuRQFwNI5u8Dh0cI90ABD3BOKnxkEla8cGdisbDHl5cVIkZah5QUhSAxzx4Roa7b4xy9tvx9iNSYw-eXBYYd8k1XKf8Q_Qq1X9-x-U-Y79vdPq

Coletando logs, HWID e push token de um dispositivo

Anchor link to

Primeiro, se você tiver acesso ao código-fonte do seu aplicativo, certifique-se de que Pushwoosh_LOG_LEVEL em seu aplicativo esteja definido como VERBOSE. Para fazer isso, verifique a chave de string Pushwoosh_LOG_LEVEL em seu arquivo Info.plist. Se não, pule para o próximo passo. Aqui estão os valores possíveis para esta chave:

  • NONE - Sem logs do SDK
  • ERROR - Exibir apenas erros no console
  • WARNING - Também exibir avisos
  • INFO - Adicionar mensagens informativas
  • DEBUG - Adicionar informações de depuração
  • VERBOSE - Todos os logs do SDK

O valor da chave VERBOSE permite que o SDK da Pushwoosh exiba informações importantes sobre as ações de registro.

  1. Em seguida, conecte o dispositivo ao seu Mac e inicie o Xcode. Vá para Window->Device and Simulators.
Janela de Dispositivos e Simuladores do Xcode mostrando o dispositivo iOS conectado
  1. Na janela aberta, selecione seu dispositivo conectado e clique no triângulo para cima no canto inferior esquerdo para ver o console do dispositivo:
Visualização do console do dispositivo no Xcode mostrando os logs do dispositivo com o botão de triângulo para cima destacado

A partir da versão 9.3 do Xcode, o processo de obtenção do log do console do dispositivo foi ligeiramente alterado. Tudo o que você precisa fazer é ir ao seu Launchpad e iniciar o aplicativo “Console”. Selecione seu dispositivo na barra lateral esquerda. É isso!

Aplicativo Console do macOS mostrando o dispositivo iOS conectado selecionado na barra lateral esquerda com os logs do dispositivo exibidos
  1. Em seguida, inicie seu aplicativo no dispositivo e aguarde a janela de diálogo. Permita notificações push para seu aplicativo.

  2. Após esses passos, selecione todo o log do dispositivo na janela do console e copie-o para qualquer editor de texto.

A solicitação de API da Pushwoosh /registerDevice é o que você está procurando:

Log do console do dispositivo mostrando a solicitação de API registerDevice com os parâmetros hwid e push token visíveis

Se o dispositivo for registrado corretamente, esta solicitação deve conter os seguintes parâmetros, incluindo os valores “hwid” e “push token”:

Exemplo
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

O aviso com um push token do seu dispositivo também deve estar presente:

<Notice>: [PW] [I] -[PWPushNotificationsManagerCommon] Registered for push notifications: ae784019d1b8c8e38a1ea06f0800c17a4fa986d6e2d346fc79373e92439ff8f7
  1. Se você tiver acesso ao código-fonte do aplicativo, certifique-se de que o nível de log do Pushwoosh esteja definido como NOISE. Para fazer isso, adicione os metadados com.pushwoosh.log_level com o valor NOISE ao AndroidManifest.xml.

  2. Em seguida, execute o Android Studio no seu Mac/PC e vá para Tools -> Android -> Android Device Monitor.

Janela do Android Device Monitor no Android Studio mostrando o dispositivo Android conectado
  1. Conecte seu dispositivo ao Mac/PC e inicie o aplicativo. Aguarde cerca de 30 segundos, selecione todo o log do dispositivo na janela do console e copie-o para qualquer editor de texto.
Janela de log do console do Android Device Monitor mostrando os logs do dispositivo com a solicitação registerDevice visível

Observe que nas versões mais recentes do Android Studio, você também pode usar a ferramenta Logcat para obter o log do console do dispositivo. Execute o Android Studio e vá para View -> Tool Windows -> Logcat:

Interface do Android Studio mostrando a janela da ferramenta Logcat acessada a partir do menu View

Depois disso, você pode localizar o log do dispositivo na janela Logcat:

Janela Logcat do Android Studio exibindo logs do dispositivo com a solicitação de API registerDevice visível

Aqui está o exemplo abaixo, de como a solicitação de API Pushwoosh /registerDevice se parece dentro do log do console do dispositivo:

Log do console do dispositivo Android mostrando a solicitação de API registerDevice com os parâmetros hwid e push token destacados

Encontre o valor dos parâmetros “hwid” e “push token” na solicitação:

Exemplo
[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

O push token está incluído no aviso de registro do dispositivo:

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 notifications

Chrome (desktop)

Anchor link to
  1. Vá para o seu site.

  2. Clique com o botão direito em qualquer lugar da página e pressione “Inspecionar”.

Ferramentas de Desenvolvedor do Chrome abertas com a opção de menu de contexto Inspecionar Elemento visível
  1. Na janela aberta, vá para a aba “Application”.

  2. Em seguida, na barra lateral esquerda, escolha IndexedDB -> Pushwoosh_SDK_Store -> keyValue. Aqui, encontre os parâmetros HWID e push token.

Aba Application das Ferramentas de Desenvolvedor do Chrome mostrando IndexedDB com Pushwoosh SDK Store e keyValue contendo HWID e push token

Chrome (mobile)

Anchor link to
  1. Conecte seu dispositivo móvel ao computador.

  2. Vá para chrome://inspect/#devices no seu Chrome de desktop.

  3. Abra seu site no seu Chrome móvel.

  4. Assim que o site for aberto no seu Chrome móvel, você verá a página correspondente na página do Chrome de desktop. Por favor, dê uma olhada na captura de tela abaixo:

Página de depuração remota do Chrome mostrando o dispositivo móvel conectado com o botão Inspecionar destacado
  1. Pressione o botão “Inspect” destacado na captura de tela acima.

  2. A seguinte janela aparecerá no seu Chrome de desktop. Lá, na aba “Application”, abra IndexedDB -> PUSHWOOSH_SDK_STORE. Depois disso, clique em keyValue e abra a seção API_PARAMS:

Aba Application das Ferramentas de Desenvolvedor do Chrome mostrando IndexedDB PUSHWOOSH SDK STORE com a seção API_PARAMS contendo hwid e push token

Na seção API_PARAMS, você encontrará os parâmetros “hwid” e “push token” com seus valores.

  1. Vá para o seu site.
  2. Clique com o botão direito em qualquer lugar da página e selecione Inspecionar Elemento.
  3. Vá para a aba Storage -> Indexed Databases -> PUSHWOOSH_SDK_STORE -> keyValue.
  4. Expanda API_PARAMS e encontre os valores “hwid” e “push token” aqui.
Aba Storage das Ferramentas de Desenvolvedor do Safari mostrando Indexed Databases com PUSHWOOSH SDK STORE keyValue contendo API_PARAMS com hwid e push token