Android

21 set, 2017

Xamarin Forms – Android - Obtendo Key Hash

Publicidade

 

Olá, pessoal!

Ultimamente venho compartilhando algumas pequenas tarefas nas quais precisamos atuar em nosso dia a dia, e como de praxe, venho por meio deste exemplificar de forma bem simples como obter o Key Hash dos aplicativos na plataforma Android.

Para autenticar a troca de informações entre o seu aplicativo e o Facebook, você precisa gerar um Key Hash adicioná-lo às configurações do Android no número de identificação do aplicativo do Facebook. Sem essa informação o seu aplicativo não irá se comportar corretamente.

Existem duas formas de obter o Key Hash:

  • Linha de Comando (Prompt ou Terminal)
  1. Se você não tem o OpenSSL será necessário fazer download e salva-lo em alguma pasta local (Ex.: C:\).
  2. Caso você não tenha o Keytool declarado em suas variáveis de ambiente, navegue até a pasta onde encontra-se o mesmo (Ex.: C:\Program Files\Java\jdk1.8.0_131\bin), abra o Prompt de Comando a partir deste local e entre com o seguinte comando: keytool -exportcert -alias androiddebugkey -keystore “LOCAL DO ARQUIVO debug.keystore” | “LOCAL DO OpenSSL” sha1 -binary |”LOCAL DO OpenSSL” base64
  • Em tempo de execução (Hard Coded)

Dentro da classe MainActivity insira o seguinte trecho de código:

protected override void OnCreate(Bundle bundle)
{
    PackageInfo info = this.PackageManager.GetPackageInfo("NOME DO PACOTE DO APLICATIVO", PackageInfoFlags.Signatures);
    foreach (Android.Content.PM.Signature signature in info.Signatures)
    {
        MessageDigest md = MessageDigest.GetInstance("SHA");
        md.Update(signature.ToByteArray());
        string keyhash = Convert.ToBase64String(md.Digest());
        Console.WriteLine("KeyHash:", keyhash);
    }
}

Por hoje é só, espero ter ajudado à todos.

Muito obrigado!