## Firebase 使用指南 Firebase 是 Google 提供的一套後端服務,適合開發應用程式,特別是移動和網頁應用。以下介紹如何使用 Firebase,涵蓋專案設置、身份驗證和數據庫操作等內容。 #### 1. 設定 Firebase 專案 - **建立專案**: 1. 登入 [Firebase 控制台](https://firebase.google.com/)。 2. 點擊「新增專案」,並按照指示命名和設置專案。 - **添加 Firebase SDK**: 在 HTML 中引入 Firebase SDK: ```html <script src="https://www.gstatic.com/firebasejs/9.1.0/firebase-app.js"></script> <script src="https://www.gstatic.com/firebasejs/9.1.0/firebase-auth.js"></script> <script src="https://www.gstatic.com/firebasejs/9.1.0/firebase-database.js"></script> ``` - **初始化 Firebase**: 在 JavaScript 中初始化 Firebase: ```javascript const firebaseConfig = { apiKey: "YOUR_API_KEY", authDomain: "YOUR_PROJECT_ID.firebaseapp.com", databaseURL: "https://YOUR_PROJECT_ID.firebaseio.com", projectId: "YOUR_PROJECT_ID", storageBucket: "YOUR_PROJECT_ID.appspot.com", messagingSenderId: "YOUR_SENDER_ID", appId: "YOUR_APP_ID" }; firebase.initializeApp(firebaseConfig); ``` #### 2. 使用 Firebase 身份驗證 - **註冊用戶**: 使用電子郵件和密碼註冊用戶: ```javascript firebase.auth().createUserWithEmailAndPassword(email, password) .then((userCredential) => { const user = userCredential.user; }) .catch((error) => { console.error(error.message); }); ``` - **登入用戶**: 使用電子郵件和密碼登入: ```javascript firebase.auth().signInWithEmailAndPassword(email, password) .then((userCredential) => { const user = userCredential.user; }) .catch((error) => { console.error(error.message); }); ``` - **監聽登入狀態變化**: ```javascript firebase.auth().onAuthStateChanged((user) => { if (user) { // 用戶已登入 } else { // 用戶未登入 } }); ``` #### 3. 使用 Firebase 實時數據庫 - **寫入數據**: 使用 `set`、`update` 和 `push` 方法寫入數據: ```javascript const database = firebase.database(); // 設定資料 database.ref('users/').set({ username: "exampleUser", email: "user@example.com" }); // 更新資料 database.ref('users/exampleUser').update({ age: 30 }); // 添加資料 database.ref('users/').push({ username: "newUser" }); ``` - **讀取數據**: ```javascript database.ref('users/').once('value') .then((snapshot) => { const data = snapshot.val(); console.log(data); }); ``` - **即時監聽數據變化**: ```javascript database.ref('users/').on('value', (snapshot) => { const data = snapshot.val(); console.log(data); }); ``` ## Firebase 電子郵件登入設定步驟 ### 1. 開啟 Firebase 控制台 - 登入 [Firebase 控制台](https://console.firebase.google.com/)。 - 創建一個新的專案或選擇現有的專案。 ### 2. 啟用電子郵件登入 1. 在左側選單中,點擊「**Authentication**」。 2. 點擊「**登入方式**」標籤。 3. 找到「**電子郵件/密碼**」選項,點擊鉛筆圖示進入編輯模式。 4. 啟用電子郵件/密碼登入功能,然後點擊「**儲存**」。 ### 3. 實作註冊與登入功能 在你的應用程式中,使用 Firebase 的 JavaScript SDK 來實作電子郵件登入功能。 #### 註冊用戶 ```javascript firebase.auth().createUserWithEmailAndPassword(email, password) .then((userCredential) => { // 註冊成功 const user = userCredential.user; console.log("註冊成功:", user); }) .catch((error) => { console.error("註冊失敗:", error.message); }); ``` #### 登入用戶 ```javascript firebase.auth().signInWithEmailAndPassword(email, password) .then((userCredential) => { // 登入成功 const user = userCredential.user; console.log("登入成功:", user); }) .catch((error) => { console.error("登入失敗:", error.message); }); ``` ### 4. 驗證用戶狀態 使用以下代碼來監聽用戶的登入狀態: ```javascript firebase.auth().onAuthStateChanged((user) => { if (user) { // 用戶已登入 console.log("當前用戶:", user); } else { // 用戶未登入 console.log("無用戶登入"); } }); ``` ### 5. 處理密碼重設與驗證郵件 發送重設密碼郵件: ```javascript firebase.auth().sendPasswordResetEmail(email) .then(() => { console.log("已發送重設密碼郵件"); }) .catch((error) => { console.error("發送失敗:", error.message); }); ```