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

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

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

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

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

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

App Clips

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

  • Dynamic Link ส่งผู้ใช้ไปยัง App Clip ไม่ได้หากผู้ใช้แตะลิงก์โดยไม่ได้ติดตั้งแอป
  • Firestore และ Realtime Database โหลดข้อมูลใน App Clips ไม่ได้เนื่องจากมีการพึ่งพา 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 ที่มีอยู่ ซึ่งช่วยให้โค้ดของคุณใช้ฟีเจอร์เฉพาะภาษา Swift ได้ เราได้เพิ่ม API เหล่านี้ลงในไลบรารีหลักโดยตรงแล้ว จึงไม่จำเป็นต้องรวมแยกต่างหาก หากคุณเคยมี SDK ของส่วนขยาย Swift ในโค้ดเบส โปรดดูวิธีการอัปเกรดในคู่มือการย้ายข้อมูล

SwiftUI

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

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

การแทนที่ App Delegate

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

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

การรองรับ iOS 14

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

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

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

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

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

Firebase Apple Platform SDK

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

FirebaseUI

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

ตัวอย่างการเริ่มต้นใช้งานอย่างรวดเร็ว

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

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