# Definir um ID de usuário personalizado e vinculá-lo a vários dispositivos

Para permitir uma comunicação contínua e personalizada em todas as plataformas e dispositivos, é essencial atribuir um ID de usuário personalizado a cada usuário.

## O que é um ID de usuário?

O ID de usuário é um identificador exclusivo atribuído a cada usuário. Um único ID de usuário pode ser vinculado a vários dispositivos, onde cada método de contato (aplicativo móvel, endereço de e-mail, número de telefone) é [tratado como um dispositivo separado](/pt/product/pushwoosh-knowledge-hub/omnichannel-campaigns/#understanding-how-pushwoosh-handles-devices).

Vincular todos os dispositivos (métodos de contato) a um único ID de usuário permite que você alcance os usuários em todos os canais e coordene as mensagens em [campanhas omnichannel](/pt/product/pushwoosh-knowledge-hub/omnichannel-campaigns/).

<Aside type="note">
Cada usuário pode ter até **20 dispositivos** vinculados ao seu ID de usuário. Se um novo dispositivo for registrado além desse limite, o dispositivo inativo mais antigo será removido automaticamente. [Saiba mais](/pt/developer/pushwoosh-knowledge-hub/users-userids/#device-limit-per-user)
</Aside>

> Para uma explicação detalhada de como os IDs de usuário funcionam e como eles se relacionam com os dispositivos, consulte [este guia](/pt/developer/pushwoosh-knowledge-hub/users-userids/).

## Por que você precisa definir um ID de usuário personalizado

Por padrão, quando seu aplicativo é iniciado pela primeira vez, o Pushwoosh cria um ID de usuário igual ao Hardware ID (HWID) do dispositivo. Isso significa que cada dispositivo é tratado como um usuário separado. Portanto, se uma pessoa usa mais de um dispositivo, como um telefone e um tablet, o Pushwoosh os vê como dois usuários separados e seus dados não serão conectados.

Se você deseja que o Pushwoosh reconheça vários dispositivos como pertencentes ao mesmo usuário, você precisa definir um ID de usuário personalizado e atribuí-lo a todos os dispositivos desse usuário.

Fazer isso vincula todos os dispositivos e métodos de contato a um único perfil de usuário, desbloqueando vários benefícios importantes:

### Contagens precisas de usuários para faturamento

O Pushwoosh cobra com base no número de usuários únicos em seu banco de dados.

> [Saiba mais sobre os preços do Pushwoosh](https://pushwoosh.com/pricing)

Se você não definir um ID de usuário personalizado, cada dispositivo contará como um usuário separado, mesmo que pertençam à mesma pessoa. Por exemplo, se um usuário usar um celular e um tablet, ele poderá ser contado como dois usuários.

### Mensagens consistentes em todos os canais

Para uma experiência unificada em notificações push, e-mail, SMS, in-app, WhatsApp e outros canais, todos os dados do usuário devem ser vinculados a um único ID de usuário.

Ao definir um ID de usuário personalizado, você garante que o Pushwoosh reconheça todos os métodos de contato (dispositivos, e-mails, números de telefone) como pertencentes ao mesmo usuário, o que é essencial para campanhas omnichannel consistentes e personalizadas.

> Saiba mais sobre [campanhas Omnichannel](/pt/product/pushwoosh-knowledge-hub/omnichannel-campaigns/)

### Perfis de usuário persistentes

Um ID de usuário personalizado permite que o Pushwoosh mantenha um perfil completo e unificado para cada usuário. Este perfil inclui:

* Todos os dispositivos e informações de contato vinculados ao mesmo usuário
* Tags
* Histórico de eventos e participação em campanhas
* Mensagens enviadas e abertas

Você pode visualizar e gerenciar esses dados no [User Explorer](/pt/product/audience-data-and-segmentation/user-explorer/), ajudando a fornecer uma segmentação mais precisa e uma melhor personalização.
## Como atribuir e gerenciar IDs de usuário

O Pushwoosh oferece vários métodos para atribuir e gerenciar IDs de usuário:
### Método setUserID do SDK

Por padrão, quando um aplicativo com o SDK do Pushwoosh é iniciado pela primeira vez, ele define o HWID do dispositivo como um ID de usuário. No entanto, você pode definir um ID de usuário personalizado em vários pontos, dependendo do design e do fluxo do usuário do aplicativo. Para isso, use o método setUserId fornecido pelo SDK do Pushwoosh.

Aqui estão alguns momentos-chave em que você pode definir ou atualizar um ID de usuário personalizado:

* Quando o usuário se registra no aplicativo
* Quando o usuário faz login
* Quando o usuário faz uma compra ou assinatura
* Quando o usuário interage com recursos específicos, etc.

**Exemplo para iOS**

`[[Pushwoosh sharedInstance] setUserId:@"userId"];`

**Exemplo para Android**

`Pushwoosh.getInstance().setUserId("testUser");`

**Exemplo para Web**

`api.registerUser('user123');`


### Gerenciando IDs de usuário durante o login e logout

Quando um usuário faz logout, é recomendável redefinir seu ID de usuário para um valor padrão usando outra chamada `setUserId`. Quando o usuário fizer login novamente, atualize o ID de usuário para o valor personalizado específico daquele usuário.

Se o ID de usuário mudar (por exemplo, se um usuário fizer logout e outro usuário fizer login), chame `setUserId` para atualizar o ID de usuário associado a esse dispositivo. Isso garante que o ID de usuário correto esteja sempre vinculado ao dispositivo, permitindo que notificações personalizadas sejam enviadas ao usuário apropriado.

### Método da API registerEmail ou registerEmailUser

Use o método da API [registerEmail](/pt/developer/api-reference/email-api#registeremail) ou [registerEmailUser](/pt/developer/api-reference/email-api#registeremailuser) para associar um ID de usuário externo a um endereço de e-mail especificado.

Observe que [registerEmailUser](/pt/developer/api-reference/email-api#registeremailuser) não registra um endereço de e-mail em sua base de usuários; ele deve ser usado apenas para atribuir IDs de usuário a endereços de e-mail que já foram registrados por uma solicitação registerEmail.

### Método da API registerDevice

Embora usado principalmente para registrar um novo dispositivo no Pushwoosh, este método também pode definir um ID de usuário no momento do registro do dispositivo.

Se você passar um ID de usuário personalizado nesta chamada (por exemplo, "userId": "Alex"), ele será associado ao dispositivo. Se nenhum ID de usuário for fornecido, o dispositivo será associado a um ID de usuário anônimo igual ao hardware ID (HWID)

Para associar os números de telefone dos clientes ao **UserId** usando o método [**/registerDevice**](/pt/developer/api-reference/device-api/#registerdevice), especifique o número de telefone no parâmetro "hwid".

### Método da API registerUser

Este método da API permite associar um ID de usuário externo a um dispositivo especificado ou transferir um dispositivo entre usuários, mantendo as tags do dispositivo, por exemplo, quando um usuário faz logout e um novo usuário faz login.

Este método pode ser usado antes que o dispositivo seja registrado ou antes de obter o push token, por exemplo, quando você precisa pré-registrar um usuário no Pushwoosh. [Saiba mais](/pt/developer/api-reference/user-centric-api#registeruser)