1. Tổng quan.
Firebase là một nền tảng để phát triển ứng dụng di động và trang web, bao gồm các API đơn giản và mạnh mẽ mà không cần backend hay server.
Lợi ích của Firebase là gì? Firebase còn giúp các lập trình viên rút ngắn thời gian triển khai và mở rộng quy mô của ứng dụng mà họ đang phát triển. Firebase là dịch vụ cơ sở dữ liệu hoạt động trên nền tảng đám mây – cloud.
Kèm theo đó là hệ thống máy chủ cực kỳ mạnh mẽ của Google. Chức năng chính là giúp người dùng lập trình ứng dụng bằng cách đơn giản hóa các thao tác với cơ sở dữ liệu.
Cụ thể là những giao diện lập trình ứng dụng API đơn giản. Mục đích nhằm tăng số lượng người dùng và thu lại nhiều lợi nhuận hơn.
Đặc biệt, còn là dịch vụ đa năng và bảo mật cực tốt. Firebase hỗ trợ cả hai nền tảng Android và IOS. Và Flutter framework cũng hỗ trợ đa nền tảng đặc biệt là phát triển ứng dựng mobile cho cả Android và IOS từ một source code. Vì vậy, tôi muốn trình bày việc sử dụng Firebase trong Flutter.
2. Firebase Authentication.
2.1. Thêm Firebase Authentication vào ứng dựng.
- Từ root của ứng dụng, chạy đoạn command dưới đây:
flutter pub add firebase_auth
- Sau khi hoàn tất, hãy xây dựng lại ứng dụng Flutter của bạn.
flutter run
- Gọi thư viện vào trong Dart code:
import ‘package:firebase_auth/firebase_auth.dart’;
2.2. Kiểm tra các trạng thái hiện tại.
Firebase Auth cung cấp nhiều phương pháp và tiện ích cho phép bạn tích hợp xác thực an toàn vào ứng dụng Flutter mới hoặc hiện có của mình. Trong nhiều trường hợp, bạn sẽ cần biết về trạng thái xác thực của người dùng, chẳng hạn như họ đã đăng nhập hay đã đăng xuất.
Có 3 phương thức để lắng nghe các trạng thái thay đổi xác thực:
a. authStateChanges()
Các sự kiện sẽ kích hoạt khi xảy ra những điều sau:
- Ngay sau khi người nghe đã được đăng ký.
- Khi người dùng đã đăng nhập.
- Khi người dùng hiện tại đã đăng xuất.
b. idTokenChanges()
Các sự kiện sẽ kích hoạt khi xảy ra những điều sau:
- Ngay sau khi người nghe đã được đăng ký.
- Khi người dùng đã đăng nhập.
- Khi người dùng hiện tại đã đăng xuất.
- Khi có sự thay đổi trong mã thông báo của người dùng hiện tại.
c. userChanges()
Các sự kiện sẽ kích hoạt khi xảy ra những điều sau:
- Ngay sau khi người nghe đã được đăng ký.
- Khi người dùng đã đăng nhập.
- Khi người dùng hiện tại đã đăng xuất.
- Khi có sự thay đổi trong mã thông báo của người dùng hiện tại.
Chú ý: idTokenChanges(), userChanges() & authStateChanges() sẽ không kích hoạt nếu bạn cập nhật Hồ sơ người dùng bằng SDK quản trị Firebase. Bạn sẽ phải buộc tải lại bằng cách sử dụng FirebaseAuth.instance.currentUser.reload() để truy xuất hồ sơ Người dùng mới nhất.
idTokenChanges(), userChanges() & authStateChanges() cũng sẽ không kích hoạt nếu bạn tắt hoặc xóa Người dùng bằng SDK quản trị Firebase hoặc bảng điều khiển Firebase. Bạn sẽ phải buộc tải lại bằng FirebaseAuth.instance.currentUser.reload(), điều này sẽ gây ra trường hợp người dùng bị vô hiệu hóa hoặc không tìm thấy ngoại lệ mà bạn có thể bắt và xử lý trong code ứng dụng của mình.
2.3. Quản lý Users trong Firebase.
a. Tạo tài khoản.
Sử dụng phương thức createUserWithEmailAndPassword():
b. Đăng nhập với email.
Sử dụng phương thức: signInWithEmailAndPassword():
c. Lấy thông tin user hiện tại.
d. Lấy thông tin được cung cấp cụ thể của người dùng.
e. Cập nhật thông tin người dùng.
Sử dụng phương thức update().
f. Xóa người dùng hiện tại.
Sử dụng phương thức delete()
Trên đây là những kiến thức cơ bản về Firebase ứng dụng trong Flutter, ở phần tiếp theo tôi sẽ trình biết tiếp về ứng Firestore và Sotorage.