Uma instância da classe User representa um utilizador. As instâncias de utilizadores são únicas e comparáveis. Se duas instâncias forem iguais, representam o mesmo utilizador.
A aplicação pode aceder à instância User do utilizador atual chamando a função UserService::getCurrentUser().
Pode usar a função UserService::getCurrentUser(), independentemente da opção de autenticação que a sua app usa.
Também é possível construir uma instância de utilizador a partir de um endereço de email:
Se a função User::__construct() for chamada com um endereço de email que não corresponda a uma Conta Google válida, o objeto é criado, mas não corresponde a uma Conta Google real. Isto aplica-se mesmo que alguém crie uma Conta Google com o endereço de email fornecido após o armazenamento do objeto. Um valor de utilizador com um endereço de email que não represente uma Conta Google no momento da criação nunca vai corresponder a um valor de utilizador que represente um utilizador real.
O objeto User de um utilizador válido pode fornecer um valor de ID exclusivo para o utilizador que permanece o mesmo, mesmo que o utilizador altere o respetivo endereço de email. O método getUserId() devolve este ID, um valor string.
O objeto User tem o mesmo formato, independentemente do método de autenticação que a sua app usa.