今日的程式碼 => GITHUB
我很喜歡這篇 CodeLab,我自己認為,如果這篇的內容看得懂那 Provider 基本上都會了。
如果想要看這篇的成品什麼樣子,歡迎去 官方 CodeLab 看。
這邊裡面有 IOS
、Android
、Web
,下面會補充。
https://firebase.google.com/codelabs/firebase-get-to-know-flutter#3
GoogleService-Info.plist
到 ./ios/Runner./ios/Podfile
(這個看你需求,我自己是沒有加。)platfrom
的版本不可以太低(我自己是設定為 10.0)。pod 'Firebase/Analytics'
cd ios/
pod install
4.在 ./ios/Runner/AppDelegate.swift
加上這兩行(這個要加)
import UIKit
import Flutter
import Firebase // 加上這行
@UIApplicationMain
@objc class AppDelegate: FlutterAppDelegate {
override func application(
_ application: UIApplication,
didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
) -> Bool {
FirebaseApp.configure() // 加上這行
GeneratedPluginRegistrant.register(with: self)
return super.application(application, didFinishLaunchingWithOptions: launchOptions)
}
}
Target
,可以看這個 ISSUE
開啟網路設定
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsLocalNetworking</key>
<true/>
</dict>
google-services
放到 android/app/
底下<script src="https://www.gstatic.com/firebasejs/8.6.1/firebase-firestore.js"></script>
<script src="https://www.gstatic.com/firebasejs/8.6.1/firebase-app.js"></script>
<script src="https://www.gstatic.com/firebasejs/8.6.1/firebase-auth.js"></script>
<script src="https://www.gstatic.com/firebasejs/8.6.1/firebase-firestore.js"></script>
<script>
// Your web app's Firebase configuration
// For Firebase JS SDK v7.20.0 and later, measurementId is optional
var firebaseConfig = {
};
// Initialize Firebase
firebase.initializeApp(firebaseConfig);
firebase.analytics();
</script>
參考來源 (FireStore 安全設定)[https://firebase.google.com/codelabs/firebase-get-to-know-flutter#7]
記得不要把這兩個檔案上傳到 GitLab or GitHub
# Google Services (e.g. APIs or Firebase)
google-services.json
GoogleService-Info.plist
Authentication
這個是 Firebase 中間的區塊,用來註冊登入、登出的元件。ApplicationProvider
用來處理 Authentication
元件裡面的邏輯。YesNoSelection
是否參加活動的區塊GuestBook
留言區方法用途
今天就先講到這邊,明天談談裡面的邏輯和其他的應用。
那我們鐵人賽 Day 15 見囉!!