2016年7月8日 星期五

Android-Firebase Authentication 認證( Register Account )

更新日期 :
20160827 : 強化說明
20160917 : 更新程式碼

自從 FireBase 開放有關行動開發的功能後
行動裝置開發者就可以專注在 UI 和 UX 的呈現
如果 App 還需要註冊、登入才能使用某些功能
這真的是一大福音
不僅省時又好控管也可以針對資料的存取做篩選

我們話不多說
直接開始進入主題吧
為什麼要有這功能? 用途為?
1 . 讓 FireBase 的 資料庫多一層保護
2 . 會員與非會員資料存取的差異
3 . 運用很廣,請大家集思廣益一起在底下留言

有關此篇的註冊是用一般註冊( 電子郵件、密碼 )
如果想用 Gmail、Facebook...等,官方皆有說明


請先完成 FireBase 的前置作業 : Android-FireBase 的前置作業

1 . 安裝 auth 相關 Lib
build.gradle{
    .
    .
    compile 'com.google.firebase:firebase-auth:9.2.0'
}

2 .  確認 FireBase Console 的註冊 Auth 是否有開啟














如果沒開啟郵件註冊







3 . 確認信的內容,除非要有特定格式,否則建議使用預設














4 . 程式 ( 註冊帳號 )
import android.support.annotation.NonNull;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;

import com.google.android.gms.tasks.OnCompleteListener;
import com.google.android.gms.tasks.Task;
import com.google.firebase.auth.AuthResult;
import com.google.firebase.auth.FirebaseAuth;
import com.google.firebase.auth.FirebaseUser;

public class MainActivity extends AppCompatActivity{

    private FirebaseAuth mFirebaseAuth;
    private final String TAG = "Auth";

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        String email = "email";
        String password = "password";
        
        mFirebaseAuth = FirebaseAuth.getInstance();
        mFirebaseAuth.createUserWithEmailAndPassword(email, password)
                .addOnCompleteListener(new OnCompleteListener<AuthResult>() {
                    @Override
                    public void onComplete(@NonNull Task<AuthResult> task) {
                        Log.d(TAG, "signInWithEmail:onComplete:" + task.isSuccessful());

                        if (!task.isSuccessful()) {
                            Log.w(TAG, "signInWithEmail:failed", task.getException());
                        }
                    }
                });
    }
}


5 . 如果註冊成功,在 FireBase Console 會出現註冊用戶














參考資料 : Authenticate with Firebase using Password-Based Accounts on Android
參考資料 :  Firebase Authentication

沒有留言:

張貼留言