15

Sto utilizzando FirebaseUI-Authentication. L'accesso con un'email o un account Google ha esito positivo, ma l'accesso con Facebook non funziona. onActivityResult() non viene chiamato dopo l'attività AuthUI e ha tentato di accedere con Facebook. Dopo l'accesso, l'app è bloccata nella finestra di caricamento. logcat emette un registro FirebaseApp:FirebaseUI autenticazione con Facebook non funzionante

di notifica sfondo statali cambiamento ascoltatori.

Sulla app Facebook cruscotto ho impostato il OAuth valido reindirizzare URI, come la guida Firebase dichiarato, e ho impostato l'app pubblico (che importa se è pubblica o in stato di sviluppo?). Nella console Firebase Ho abilitato l'accesso a Facebook e impostato l'ID e l'.

This è una registrazione video che mostra ciò che accade dopo l'accesso con Facebook è stato fatto clic sull'attività di accesso.

Perché non viene chiamato onActivityResult()?

MainActivity:

/** 
* Use this method to start the FirebaseUI sign in activity. 
*/ 
public void switchToSignIn() { 
    this.activity.startActivityForResult(
      AuthUI.getInstance() 
        .createSignInIntentBuilder() 
        .setProviders(
          AuthUI.EMAIL_PROVIDER, 
          AuthUI.GOOGLE_PROVIDER, 
          AuthUI.FACEBOOK_PROVIDER) 
        .build(), RC_SIGN_IN); 
} 

@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    if (requestCode == RC_SIGN_IN) { 
     if (resultCode == this.activity.RESULT_OK) { 
      // user is signed in! 
      Log.d(Constants.TAG_LoginHandler, "Sign in result: RESULT_OK"); 
      logUserInfo(); 
      tryAccessMainFragment(); 
     } else { 
      Log.d(Constants.TAG_LoginHandler, "Sign in result: RESULT_CANCELLED"); 
      // user is not signed in. Maybe just wait for the user to press 
      // "sign in" again, or show a message 
     } 
    } 
} 

build.gradle:

dependencies { 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
    testCompile 'junit:junit:4.12' 
    compile 'com.android.support:appcompat-v7:23.4.0' 
    compile 'com.android.support:support-v4:23.4.0' 
    compile 'com.android.support:design:23.4.0' 
    compile 'com.firebaseui:firebase-ui:0.4.0' 
    compile 'com.squareup.picasso:picasso:2.5.2' 
    compile 'de.hdodenhof:circleimageview:1.3.0' 
} 

apply plugin: 'com.google.gms.google-services' 
+0

Si prega di fare video come pubblico.E 'privato – pRaNaY

+0

E' pubblico ora. Grazie! –

+0

È visibile. Grazie – pRaNaY

risposta

6

Se si utilizza FirebaseUI, è necessario mettere questa stringa esatta in strings.xml:

<string name="facebook_application_id" translatable="false">APPID</string> 

Il APPID può essere trovato sul vostro developers.facebook.com cruscotto .

Vedi firebaseui-auth readme

Anche essere sicuri di aggiungere il tasto cancelletto Android e OAuth URL Firebase in app facebook.

1

provare ad aggiornare alla nuova versione di Google Play Services dove hanno sistemato alcune questioni relative Firebase di autenticazione. (Anche se non hanno menzionato specificamente per Facebook login)

Servizi di Google Play aggiornati alla 9.0.2 La versione 9.0.2 di Google Play Services è ora disponibile. Questa versione corregge un problema noto con l'autenticazione Firebase in cui FirebaseAuthApi non è disponibile su alcuni dispositivi.

https://developers.google.com/android/guides/releases

+0

Sfortunatamente, non è stato d'aiuto. –