Tìm hiểu về Firebase trên các nền tảng của Apple

Khi phát triển ứng dụng Apple bằng Firebase, bạn có thể gặp phải những khái niệm mới hoặc dành riêng cho Firebase. Trang này nhằm mục đích trả lời những câu hỏi đó hoặc hướng bạn đến các tài nguyên để tìm hiểu thêm.

Nếu bạn có câu hỏi về một chủ đề không được đề cập trên trang này, hãy thoải mái truy cập vào một trong các cộng đồng trực tuyến của chúng tôi. Chúng tôi cũng sẽ cập nhật trang này theo định kỳ bằng các chủ đề mới, vì vậy, hãy nhớ quay lại để xem chúng tôi có thêm chủ đề mà bạn muốn tìm hiểu hay không!

Hỗ trợ thư viện Firebase theo nền tảng

Bảng sau đây mô tả những thư viện Firebase nào tương thích với những nền tảng Apple nào. Hiện tại, visionOS và watchOS chỉ được cộng đồng hỗ trợ. Hãy xem kho lưu trữ GitHub của SDK Firebase cho nền tảng Apple để biết hướng dẫn cài đặt và các vấn đề đã biết.

Thư viện iOS macOS Mac
Catalyst
tvOS visionOS watchOS
A/B Testing
Firebase AI Logic 1 iOS 15 trở lên macOS 12 trở lên Catalyst 15 trở lên tvOS 15 trở lên (Chỉ được cộng đồng hỗ trợ) watchOS 8 trở lên
Analytics v8.9.0 trở lên v8.9.0 trở lên v8.9.0 trở lên
Analytics không có mã quảng cáo v8.9.0 trở lên v8.9.0 trở lên v8.9.0 trở lên
Analytics chuyển đổi trên thiết bị
Nhà cung cấp DeviceCheck App Check watchOS 9 trở lên
Nhà cung cấp App Attest App Check iOS 14 trở lên macOS 11 trở lên Catalyst 14 trở lên tvOS 15 trở lên watchOS 9 trở lên
Nhà cung cấp tuỳ chỉnh và gỡ lỗi của App Check
App Distribution
Authentication đạo hàm riêng đạo hàm riêng đạo hàm riêng đạo hàm riêng đạo hàm riêng
Cloud Firestore Chỉ bản phân phối nguồn
Cloud Functions
Cloud Messaging
Cloud Storage
Crashlytics
Data Connect
Dynamic Links
Firebase cài đặt
Firebase ML Trình tải mô hình
In-App Messaging
Performance Monitoring
Realtime Database
Remote Config

1 Firebase AI Logic trước đây có tên là "Vertex AI in Firebase".

Ứng dụng thu nhỏ

Hầu hết các thư viện Firebase sẽ xây dựng và chạy trong mục tiêu Ứng dụng thu nhỏ, tuy nhiên, nhiều thư viện bị hạn chế do các hạn chế của hệ điều hành cơ bản. Các vấn đề đã biết bao gồm:

  • Dynamic Links không thể gửi người dùng đến một Ứng dụng thu nhỏ nếu họ nhấn vào một đường liên kết mà không cài đặt ứng dụng.
  • Firestore và Cơ sở dữ liệu theo thời gian thực không thể tải dữ liệu trong Ứng dụng thu nhỏ do có phần phụ thuộc CFStream cơ bản.

Hãy xem kho lưu trữ GitHub của Firebase để biết danh sách đầy đủ các vấn đề đã biết về Ứng dụng thu nhỏ.

GoogleService-Info.plist

Trong quá trình thêm Firebase vào dự án Apple, bạn cần thêm tệp cấu hình GoogleService-Info.plist vào dự án của mình. Nếu bạn muốn sử dụng nhiều dự án Firebase trong một ứng dụng, hãy truy cập vào tài liệu về cách định cấu hình nhiều dự án.

Hãy xem tài liệu tham khảo về Swift để tìm hiểu thêm về quy trình khởi chạy ứng dụng Firebase.

Trình quản lý gói Swift

Tìm hiểu thêm về cách tích hợp Trình quản lý gói Swift trong hướng dẫn của chúng tôi.

Tiện ích Swift

Tiện ích Swift của SDK Firebase cho nền tảng Apple trước đây là các tiện ích bổ sung nhỏ, mã nguồn mở cho các thư viện Firebase hiện có cho nền tảng Apple, cho phép mã của bạn sử dụng các tính năng dành riêng cho ngôn ngữ Swift. Kể từ đó, các API này đã được thêm trực tiếp vào các thư viện chính và không cần phải được đưa vào riêng. Nếu trước đây bạn có SDK tiện ích Swift trong cơ sở mã, hãy xem hướng dẫn di chuyển để biết hướng dẫn nâng cấp.

SwiftUI

Firebase hỗ trợ đầy đủ SwiftUI, mặc dù quá trình thiết lập sẽ hơi khác so với các ứng dụng UIKit để Firebase hoạt động chính xác trong môi trường SwiftUI hoàn toàn. Hãy xem bài đăng này trên blog của Peter Friese để biết thêm thông tin chi tiết.

Các ứng dụng SwiftUI phải tắt tính năng swizzling do một vấn đề đã biết. Hãy xem phần về tính năng swizzling của thực thể đại diện ứng dụng để biết thêm thông tin chi tiết.

Tính năng swizzling của thực thể đại diện ứng dụng

Firebase swizzles một số phương thức trong lớp thực thể đại diện ứng dụng của ứng dụng để tự động kết nối một số dịch vụ Firebase với các lệnh gọi lại của hệ điều hành, chẳng hạn như FCM và mã thông báo APNs. Bạn có thể tắt tính năng swizzling trong ứng dụng bằng cách thêm cờ FirebaseAppDelegateProxyEnabled vào tệp Info.plist của ứng dụng và đặt cờ này thành NO.

Bốn sản phẩm Firebase sử dụng tính năng swizzling của thực thể đại diện ứng dụng: Analytics, App Distribution, Authentication, và FCM. Nếu bạn đã tắt tính năng swizzling trong ứng dụng và sử dụng bất kỳ sản phẩm nào sau đây, hãy tham khảo hướng dẫn dành riêng cho sản phẩm để tìm hiểu cách sử dụng sản phẩm mà không cần swizzling:

Hỗ trợ iOS 14

iOS 14 có những thay đổi mới đối với quyền của người dùng liên quan đến mã nhận dạng cho quảng cáo của người dùng. Hãy xem hướng dẫn chuẩn bị cho iOS 14 để biết thêm thông tin chi tiết về việc ứng dụng của bạn có thể bị ảnh hưởng hay không.

Tiếp tục hỗ trợ Objective-C

Để dễ dàng duy trì tài liệu về các nền tảng Apple, Firebase đã quyết định tập trung vào các đoạn mã và mẫu mã Swift trong hướng dẫn và các tài liệu khác dành cho nhà phát triển. Các đoạn mã Objective-C sẽ bị xoá khỏi hướng dẫn của chúng tôi kể từ ngày 1 tháng 1 năm 2024. Chúng tôi sẽ tiếp tục duy trì tài liệu tham khảo mới nhất cho Objective-C cho tất cả các sản phẩm Firebase.

Tài nguyên mã nguồn mở cho SDK Firebase cho nền tảng Apple

Firebase hỗ trợ phát triển mã nguồn mở và chúng tôi khuyến khích cộng đồng đóng góp và phản hồi.

SDK Firebase cho nền tảng Apple

Tất cả các SDK Firebase cho nền tảng Apple, ngoại trừ Analytics, đều được phát triển dưới dạng thư viện mã nguồn mở trong kho lưu trữ Firebase GitHub công khai của chúng tôi.

FirebaseUI

FirebaseUI là một tập hợp các thư viện tiện ích được xây dựng trên Firebase, bao gồm cả quy trình giao diện người dùng thả vào để xác thực và các tiện ích dữ liệu cho Cloud FirestoreRealtime Database. Xem thêm thông tin chi tiết về FirebaseUI trên trang GitHub của chúng tôi.

Mẫu hướng dẫn nhanh

Firebase duy trì một bộ sưu tập các mẫu hướng dẫn nhanh cho hầu hết các API Firebase trên iOS. Tìm các hướng dẫn nhanh này trong kho lưu trữ hướng dẫn nhanh Firebase GitHub công khai của chúng tôi .

Bạn có thể mở từng hướng dẫn nhanh trong Xcode, sau đó chạy chúng trên thiết bị di động hoặc trình mô phỏng. Hoặc bạn có thể sử dụng các hướng dẫn nhanh này làm mã mẫu để sử dụng SDK Firebase.