ทำความเข้าใจ Firebase บนแพลตฟอร์ม Apple

ขณะพัฒนาแอป Apple โดยใช้ Firebase คุณอาจพบแนวคิดที่ไม่คุ้นเคยหรือเจาะจงสำหรับ Firebase หน้านี้มีจุดประสงค์เพื่อตอบคำถามเหล่านั้นหรือแนะนำแหล่งข้อมูลเพื่อดูข้อมูลเพิ่มเติม

หากคุณมีคำถามเกี่ยวกับหัวข้อที่ไม่ได้กล่าวถึงในหน้านี้ โปรดไปที่ชุมชนออนไลน์ของเรา นอกจากนี้ เราจะอัปเดตหน้านี้ด้วยหัวข้อใหม่ๆ เป็นระยะๆ ดังนั้นโปรดกลับมาดูว่าเราได้เพิ่มหัวข้อที่คุณต้องการเรียนรู้แล้วหรือยัง

การรองรับไลบรารี Firebase ตามแพลตฟอร์ม

ตารางต่อไปนี้อธิบายว่าไลบรารี Firebase ใดเข้ากันได้กับแพลตฟอร์ม Apple ใดบ้าง ในตอนนี้ visionOS และ watchOS ได้รับการสนับสนุนจากชุมชนเท่านั้น ดูวิธีการติดตั้งและปัญหาที่ทราบได้ที่ที่เก็บ GitHub ของ Firebase Apple Platforms SDK

คลัง iOS macOS Mac
Catalyst
tvOS visionOS watchOS
A/B Testing
Firebase AI Logic 1 iOS 15 ขึ้นไป macOS 12 ขึ้นไป Catalyst 15+ tvOS 15 ขึ้นไป (การสนับสนุนจากชุมชนเท่านั้น) watchOS 8 ขึ้นไป
Analytics v8.9.0 ขึ้นไป v8.9.0 ขึ้นไป v8.9.0 ขึ้นไป
Analytics ไม่มีรหัสโฆษณา v8.9.0 ขึ้นไป v8.9.0 ขึ้นไป v8.9.0 ขึ้นไป
Conversion ในอุปกรณ์ Analytics รายการ
App Check
ผู้ให้บริการ DeviceCheck
watchOS 9 ขึ้นไป
App Check
ผู้ให้บริการ App Attest
iOS 14 ขึ้นไป macOS 11 ขึ้นไป Catalyst 14+ tvOS 15 ขึ้นไป watchOS 9 ขึ้นไป
ผู้ให้บริการแก้ไขข้อบกพร่องและผู้ให้บริการที่กำหนดเองApp Check
ผู้ให้บริการ App Check
reCAPTCHA
App Distribution
Authentication บางส่วน บางส่วน บางส่วน บางส่วน บางส่วน
Cloud Firestore การเผยแพร่แหล่งที่มาเท่านั้น
Cloud Functions
Cloud Messaging
Cloud Storage
Crashlytics
การติดตั้ง Firebase รายการ
In-App Messaging
Performance Monitoring
Realtime Database
Remote Config
SQL Connect 2
ไลบรารีที่เลิกใช้งานแล้วหรือไม่รองรับ
Dynamic Links
เครื่องมือดาวน์โหลดโมเดล Firebase ML

1 Firebase AI Logic เดิมเรียกว่า "Vertex AI in Firebase"

2 Firebase SQL Connect เดิมเรียกว่า "Firebase Data Connect"

App Clips

ไลบรารี Firebase ส่วนใหญ่จะสร้างและทำงานในเป้าหมาย App Clip แต่หลายไลบรารีถูกจำกัดเนื่องจากข้อจำกัดของระบบปฏิบัติการที่สำคัญ ปัญหาที่ทราบแล้วมีดังนี้

  • ลิงก์แบบไดนามิกจะส่งผู้ใช้ไปยัง App Clip ไม่ได้หากผู้ใช้แตะลิงก์โดยไม่ได้ติดตั้งแอป
  • Firestore และ Realtime Database ไม่สามารถโหลดข้อมูลใน App Clip ได้เนื่องจากการขึ้นต่อกันของ CFStream ที่สำคัญ

ดูรายการปัญหาที่ทราบทั้งหมดเกี่ยวกับ App Clip ได้ที่ที่เก็บ GitHub ของ Firebase

GoogleService-Info.plist

ในการเพิ่ม Firebase ลงในโปรเจ็กต์ Apple คุณต้องเพิ่มไฟล์การกำหนดค่า GoogleService-Info.plist ลงในโปรเจ็กต์ หากต้องการใช้โปรเจ็กต์ Firebase หลายโปรเจ็กต์ในแอปเดียว โปรดดูเอกสารประกอบเกี่ยวกับการกำหนดค่าหลายโปรเจ็กต์

ดูข้อมูลเพิ่มเติมเกี่ยวกับกระบวนการเริ่มต้นแอป Firebase ได้ในเอกสารอ้างอิง Swift

Swift Package Manager

ดูข้อมูลเพิ่มเติมเกี่ยวกับการผสานรวม Swift Package Manager ได้ในคู่มือของเรา

ส่วนขยาย Swift

ส่วนขยาย Swift ของ Firebase Apple Platform SDK เดิมเป็นส่วนเสริมโอเพนซอร์สขนาดเล็กสำหรับไลบรารี Firebase Apple Platform ที่มีอยู่ ซึ่งช่วยให้โค้ดของคุณใช้ฟีเจอร์เฉพาะภาษา Swift ได้ API เหล่านี้ได้รับการเพิ่มลงในไลบรารีหลักโดยตรงแล้ว และไม่จำเป็นต้องรวมแยกต่างหาก หากก่อนหน้านี้คุณมี SDK ส่วนขยาย Swift ในฐานของโค้ด โปรดดูวิธีการอัปเกรดในคำแนะนำในการย้ายข้อมูล

SwiftUI

Firebase รองรับ SwiftUI อย่างเต็มรูปแบบ แม้ว่าการตั้งค่าจะแตกต่างจากแอป UIKit เล็กน้อยเพื่อให้ Firebase ทำงานได้อย่างถูกต้องในสภาพแวดล้อม SwiftUI เต็มรูปแบบ ดูรายละเอียดเพิ่มเติมได้ที่บล็อกโพสต์นี้โดย Peter Friese

แอปพลิเคชัน SwiftUI ต้องปิดใช้ Swizzling เนื่องจากปัญหาที่ทราบ ดูรายละเอียดเพิ่มเติมได้ที่ส่วนการสลับ App Delegate

การสลับ App Delegate

Firebase จะสลับเมธอดบางอย่างในคลาส App Delegate ของแอปเพื่อเชื่อมต่อบริการ Firebase บางอย่างกับ Callback ของระบบปฏิบัติการโดยอัตโนมัติ เช่น FCM และโทเค็น APNs คุณปิดใช้การสลับเมธอดในแอปได้โดยเพิ่มแฟล็ก FirebaseAppDelegateProxyEnabled ในไฟล์ Info.plist ของแอปและตั้งค่าเป็น NO

ผลิตภัณฑ์ Firebase 4 รายการที่ใช้การสลับ App Delegate ได้แก่ Analytics, App Distribution, Authentication และ FCM หากคุณปิดใช้ Swizzling ในแอปพลิเคชันและใช้ผลิตภัณฑ์ต่อไปนี้ โปรดดูคู่มือเฉพาะผลิตภัณฑ์เพื่อดูวิธีใช้ผลิตภัณฑ์โดยไม่มี Swizzling

การรองรับ iOS 14

iOS 14 มีการเปลี่ยนแปลงใหม่ๆ เกี่ยวกับการให้สิทธิ์จากผู้ใช้ที่เกี่ยวข้องกับตัวระบุโฆษณาของผู้ใช้ ดูรายละเอียดเพิ่มเติมว่าแอปของคุณอาจได้รับผลกระทบหรือไม่ในคู่มือการเตรียมพร้อมสําหรับ iOS 14

การสนับสนุนอย่างต่อเนื่องสำหรับ Objective-C

Firebase ได้ตัดสินใจที่จะมุ่งเน้นไปที่ข้อมูลโค้ด Swift และตัวอย่างโค้ดในคู่มือและเอกสารอื่นๆ สำหรับนักพัฒนาซอฟต์แวร์ เพื่อให้การดูแลรักษาเอกสารประกอบเกี่ยวกับแพลตฟอร์ม Apple เป็นไปอย่างง่ายดาย เราจะนำข้อมูลโค้ด Objective-C ออกจากคู่มือตั้งแต่วันที่ 1 มกราคม 2024 เป็นต้นไป เราจะยังคงอัปเดตเอกสารอ้างอิงสำหรับ Objective-C ให้เป็นปัจจุบันสำหรับผลิตภัณฑ์ Firebase ทั้งหมด

แหล่งข้อมูลโอเพนซอร์สสำหรับ SDK ของ Firebase สำหรับแพลตฟอร์ม Apple

Firebase สนับสนุนการพัฒนาโอเพนซอร์ส และเราส่งเสริมการมีส่วนร่วมและความคิดเห็นจากชุมชน

SDK สำหรับแพลตฟอร์ม Apple ของ Firebase

Firebase SDK ทั้งหมดสำหรับแพลตฟอร์ม Apple ยกเว้น Analytics ได้รับการพัฒนาเป็นไลบรารีโอเพนซอร์สในที่เก็บ Firebase GitHub สาธารณะของเรา

FirebaseUI

FirebaseUI คือชุดไลบรารียูทิลิตีที่สร้างขึ้นใน Firebase ซึ่งรวมถึงขั้นตอน UI แบบดรอปอินสำหรับการตรวจสอบสิทธิ์และยูทิลิตีข้อมูลสำหรับ Cloud Firestore และ Realtime Database ดูรายละเอียดเพิ่มเติมเกี่ยวกับ FirebaseUI ได้ในหน้า GitHub

ตัวอย่างคู่มือเริ่มใช้งานฉบับย่อ

Firebase มีคอลเล็กชันตัวอย่างการเริ่มต้นใช้งานด่วนสำหรับ Firebase API ส่วนใหญ่ใน iOS ดูคู่มือเริ่มต้นฉบับย่อเหล่านี้ได้ในที่เก็บคู่มือเริ่มต้นฉบับย่อของ Firebase GitHub สาธารณะ

คุณสามารถเปิดคู่มือเริ่มต้นฉบับย่อแต่ละรายการใน Xcode แล้วเรียกใช้ในอุปกรณ์เคลื่อนที่หรือเครื่องจำลอง หรือจะใช้คู่มือเริ่มต้นฉบับย่อเหล่านี้เป็นโค้ดตัวอย่างสำหรับการใช้ Firebase SDK ก็ได้