2016-11-14 25 views
5

o Android tarihinde Firebase UI Auth benim kendi düzeni & düğmelerini kullanmak mümkün mü?Firebase UI - Auth - Kullanım kendi düzeni

Temelde (BUTTERKNIFE örn kullanarak) kendi başıma kimlik sağlayıcı (google, facebook, vb) seçmek için ekrana uygulamak ve benim tıklama dinleyicimizden göre akışını başlatmak isteyen

:

@OnClick(R.id.login_btn_signInGoogle) 
public void signInGoogle(View view) { 
    // Start google sign in flow <--- This is what I do not know how to do it 
} 

@OnClick(R.id.login_btn_signInFacebook) 
public void signInFacebook(View view) { 
    // Start facebook sign in flow <--- This is what I do not know how to do it 
} 

I Firebase'in ekranı/temayı kişiselleştirme olanağı sağladığını biliyorum, fakat bu benim durumum için yeterli değil.

En kötü durumda, bunu standart firebase sdk yöntemlerini kullanarak uygulamak zorunda kalacağım.

+0

Sen özelleştirme ile Firebase kendi kullanıcı arayüzünü kullanın ve bu bağlantı akabilir: https://github.com/ sizin FirebaseLoginTheme için .SetTheme ve styles.xml düzenleme windowBackground olarak .SetLogo

startActivityForResult( AuthUI.getInstance() .createSignInIntentBuilder() .setTheme(R.style.FirebaseLoginTheme) .setLogo(R.drawable.logo) .setProviders(Arrays.asList( new AuthUI.IdpConfig.Builder(AuthUI.FACEBOOK_PROVIDER).build(), new AuthUI.IdpConfig.Builder(AuthUI.GOOGLE_PROVIDER).build(), new AuthUI.IdpConfig.Builder(AuthUI.EMAIL_PROVIDER).build())) .setIsSmartLockEnabled(false) .build(), RC_SIGN_IN); 

Firebase/FirebaseUI-Android/ağaç/ana/auth –

cevap

2

Evet, Android'deki Firebase UI Kimlik Doğrulaması için kendi düzeniniz & düğmelerini kullanabilirsiniz.

Google ve Facebook, Sen gibi XML dosyasında sağlanan widget'lar kullanabilirsiniz İçin: Sonra kullanabilirsiniz

 <com.google.android.gms.common.SignInButton 
      android:id="@+id/btn_google_login" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:layout_marginTop="10dip" 
      android:background="@color/colorAccent" 
      android:text="@string/btn_google_login" 
      android:textColor="@android:color/black" /> 

     <com.facebook.login.widget.LoginButton 
      android:id="@+id/btn_facebook_login" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:layout_marginTop="10dip" 
      android:background="@color/colorAccent" 
      android:text="@string/btn_facebook_login" 
      android:textColor="@android:color/black"/> 

:

onClick

üzerinde işlem yapmak için "android id" Sorunuza yanıt edilir Umut . google akışı için :

DÜZENLEME

// Configure sign-in to request the user's ID, email address, and basic 
     // profile. ID and basic profile are included in DEFAULT_SIGN_IN. 
     GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN) 
       .requestIdToken(Your web_client_id) 
       .requestEmail() 
       .build(); 

    btn_google_login = (SignInButton) findViewById(R.id.btn_google_login); 

    btn_google_login.setSize(SignInButton.SIZE_STANDARD); 
    btn_google_login.setScopes(gso.getScopeArray()); 

    btn_google_login.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 

      //If you want everytime for user to ask the account to select. 
      mGoogleApiClient.clearDefaultAccountAndReconnect(); 

      Intent signInIntent = Auth.GoogleSignInApi.getSignInIntent(mGoogleApiClient); 
      startActivityForResult(signInIntent,RC_SIGN_IN); 
     } 
    }); 
+1

Merhaba, yanıt için teşekkürler, ama android, düğmeler, tıklama listeleri vb. nasıl kullanacağımı biliyorum, soru, daha fazla ne fireface akışları başlatmak için onclick yönteminde başlamalıdır? Sorunun açıklamasını güncelledim – JDC

+1

Yanıtı güncelleştirildi –

+1

Bu, standart firebase SDK'sini kullanarak yapıyor? O zaman bütün smartlock şeylerini kendi başıma uygulamak zorunda kalacağım, doğru mu? – JDC

7

Şimdilik tüm yapabileceğimiz here belirtildiği gibi FirebaseUI üzerindeki düzenini kabul etmek. Hoşumuza gitmezsek kendi oturumumuzu yapmamız gerekiyor. Gelecekte bazı kişiselleştirmeler sağlamayı umuyoruz. Benim app

Ben ayrı logo ve ayrı bir altyapıya sahip, bu yüzden e-posta ile kayıt çalıştığınızda, here Sen ile yapabilirsiniz gibi, logo uzağa gider ve kayıt iletişim logolu müdahale etmeyen

<style name="FirebaseLoginTheme" parent="FirebaseUI"> 
    <item name="windowNoTitle">true</item> 
    <item name="windowActionBar">false</item> 
    <item name="android:windowFullscreen">true</item> 
    <item name="android:windowContentOverlay">@null</item> 
    <item name="android:windowBackground">@drawable/login</item> 
</style>