Risoluzione dei problemi

Di seguito sono riportati i problemi comunemente riscontrati e le relative soluzioni per Facebook Login per Android.

Viene generato un errore della finestra di dialogo di accesso.

Ricevo le autorizzazioni native per la finestra di dialogo di accesso, ma l'utente non viene autenticato. L'errore di eccezione del logcat restituito è simile a questo:

...W/fb4a:fb:OrcaServiceQueue(504): com.facebook.orca.protocol.base.ApiException: remote_app_id does not match stored id 

oppure

Visualizzo una finestra di dialogo di accesso non nativa con un messaggio di errore simile a questo:

...L'app non è configurata correttamente per Facebook Login... 

Se stai riscontrando problemi con la finestra di dialogo di accesso, ecco alcuni suggerimenti:

Il mio hash chiave non è valido.

Se stai riscontrando problemi con il tuo hash chiave, ecco alcuni suggerimenti:

  • Quando aggiungi un nuovo hash chiave alla Dashboard gestione app assicurati di salvare le modifiche.
  • La password inserita non è corretta. Password Keystore predefinita: "andoid".
  • Copia e incolla l'hash chiave che hai inviato a Facebook nella Dashboard gestione app, salva le modifiche e apporta questa modifica a onCreate() nella tua attività principale:
    @Override
    
    public void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
                    
         try {
             PackageInfo info = getPackageManager().getPackageInfo(
                               "{your-package-name}",                  //Insert your own package name.  
                                PackageManager.GET_SIGNATURES);
             for (Signature signature : info.signatures) {
                 MessageDigest md = MessageDigest.getInstance("SHA");
                 md.update(signature.toByteArray());
                 Log.d("KeyHash:", Base64.encodeToString(md.digest(), Base64.DEFAULT));
                 }
              } catch (NameNotFoundException e) {
                      
              } catch (NoSuchAlgorithmException e) {
                      
              }
               ...

Viene generato un errore del keytool.

  • Se viene generato l'errore Command not found, aggiungi il percorso al PATH globale o vai alla cartella per eseguire questo comando:
    Su Windows: C:\Program Files (x86)\Java\jdk1.6.0\bin
    Su MAC: /usr/bin
  • Se il keytool non è riuscito a trovare il percorso di debug.keystore, verifica il percorso corretto. Keytool chiede sempre una password quando ha la posizione corretta.