一、使用firebase進行帳號及密碼登入功能
(一)首先你要申請開啟一個firebase的專案
(1)申請完firebase後,創建專案名稱
(2)專案申請完後,點選Authentication,由右邊點選開啟電子郵件/密碼功能
其餘請參考下面的網頁說明
https://medium.com/@auwit0205/flutter-firebaseauth%E4%BD%BF%E7%94%A8-7f48ff433ec9
如果你是要啟用利用google帳號密碼登入可以參考下面的網頁說明
(1)申請完firebase後,創建專案名稱
(2)專案申請完後,點選Authentication,由右邊點選google啟用
其餘請參考下列的網頁說明。
(1)https://ithelp.ithome.com.tw/articles/10217950
(2)https://github.com/Daviswww/triathlon_flutter/tree/master/day16
要使用firebase的帳號登入功能,首先要將以下的套件加入pubspec.yaml這個檔案中。
二、帳號申請
三、讀取firebase中的firestore資料
(1)在寫程式之前,要先於pubspec.yaml檔案中加入以下套件
dependencies:
cupertino_icons: ^1.0.2
get: 4.6.5
flutter:
sdk: flutter
firebase_core: ^2.4.1
firebase_auth: ^4.2.5
cloud_firestore: ^4.3.1
(1-1)firebase_core套件:firebase_core 套件是Flutter中對Firebase功能的原生支援。它提供了一個API,可以讓開發人員輕鬆地使用Firebase功能,例如身份驗證、數據庫、儲存和Firebase消息推送。基本上要使用firebase的功能都需要先安裝這個套件。
pub位址:https://pub.dev/packages/firebase_core
(1-2)firebase_auth:如果要配合登入功能,要安裝firebase_auth,以便作身份的認證。Firebase Authentication可以提供跨平台的身份驗證服務,可以讓開發者輕鬆快速的建立安全的用戶帳號系統。
pub位址:https://pub.dev/packages/firebase_auth
(1-3)cloud_firestore:因為是要使用firestore資料連結,因此要安裝cloud_firestore,Cloud Firestore套件將Firebase提供的NoSQL雲端數據庫服務集成到Flutter应用程序中,提供一個基於《文檔》的資料存儲和同步功能,為開發者提供傳統數據庫優化的新方法,讓開發者可以輕鬆地訪問和管理數據庫中的數據。
pub位址:https://pub.dev/packages/cloud_firestore
如果要使用要了解其它的套件下載位置及功能可以點此連結:點我
(2)加入套件後,就可以開始寫程式了。
首先要在main()這個入口的程式裡,在runApp()前,加入將功能綁定初始化,WidgetsFlutterBinding.ensureInitialized();
而後再將Firebase元件初始化,加入
await Firebase.initializeApp();
Futuer<void> main() async {
//將程式與winget進行保證初始化的綁定
WidgetsFlutterBinding.ensureInitialized();
//將Firebase的元件初始化
await Firebase.initializeApp();
runApp(
//這裡使用GetX套件,因此此處為GetMaterialApp,一般為MaterialApp()
GetMaterialApp(
//專案名稱
title: "Application",
//專案的首頁
initialRoute: AppPages.initial,
//路由設定
getPages: AppPages.routes,
//將flutter上面的debugBanner取消掉
debugShowCheckedModeBanner: false,
),
);
}
//將程式與winget進行保證初始化的綁定
WidgetsFlutterBinding.ensureInitialized();
//將Firebase的元件初始化
await Firebase.initializeApp();
四、使用firebase存取資料
(1)建置firebase資料庫及一些基礎的設定
(2)讀出及存入firebase中的firestore資料
https://www.bilibili.com/video/BV1wb411M757/?vd_source=fa9081c24751e12d42048a4d68c83d90
https://www.youtube.com/watch?v=ErP_xomHKTw
flutter 連接firestore教學。
https://www.youtube.com/watch?v=WuYOGBEOEOo
Flutter Firebase Firestore CRUD Operations | Create, Read, Update & Delete | 2022
https://www.youtube.com/watch?v=n1PM9XcYD5s&t=667s
將 Firebase 添加到您的 Flutter 應用https://firebase.google.com/docs/flutter/setup?platform=ios
查找SHA-1碼的方法:https://acao0429.blogspot.com/2023/01/sha-1.html
google帳號登入
https://ithelp.ithome.com.tw/articles/10249527
管理更新使用者資料的方法
https://firebase.google.com/docs/auth/flutter/manage-users?hl=zh-cn
以下為可能出錯的設定更改方式 ,參考:
(1)android版本不符合規定
在更改 app/build.grade時遇到
Cannot resolve symbol 'GradleException' 及Cannot resolve symbol 'Properties' 錯誤的處理方法
此顯示錯誤是因為 Flutter 不是用 Gradle 實現的。這意味著 Gradle 不是為 Flutter 構建的,而只是為 Java/Kotlin 構建的。更正方法如下:
https://github.com/flutter/flutter/issues/29608
如果需要更改minSdkVersion的作法如下:
https://stackoverflow.com/questions/68079030/how-to-use-firestore-withconverter-in-flutter
firestore 2.0使用說明
解決firebase web啟動問題
https://stackoverflow.com/questions/70320263/the-term-flutterfire-is-not-recognized-as-the-name-of-a-cmdlet-function-scri
沒有留言:
張貼留言