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

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

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

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

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

คลัง 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 ขึ้นไป
Analytics Conversion ที่เกิดขึ้นบนอุปกรณ์เคลื่อนที่
App Check ผู้ให้บริการ DeviceCheck watchOS 9 ขึ้นไป
App Check ผู้ให้บริการ App Attest iOS 14 ขึ้นไป macOS 11 ขึ้นไป Catalyst 14+ tvOS 15 ขึ้นไป watchOS 9 ขึ้นไป
App Check ผู้ให้บริการที่กำหนดเองและผู้ให้บริการแก้ไขข้อบกพร่อง
App Distribution
Authentication บางส่วน บางส่วน บางส่วน บางส่วน บางส่วน
Cloud Firestore เฉพาะการแจกแจงต้นทาง
Cloud Functions
Cloud Messaging
Cloud Storage
Crashlytics
Data Connect
Dynamic Links
การติดตั้ง Firebase
Firebase ML ตัวดาวน์โหลดโมเดล
In-App Messaging
Performance Monitoring
Realtime Database
Remote Config

1 Firebase AI Logic เดิมชื่อ "Vertex AI in Firebase"

App Clip

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

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

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

GoogleService-Info.plist

คุณต้องเพิ่ม GoogleService-Info.plistไฟล์กำหนดค่าลงในโปรเจ็กต์ของคุณ ซึ่งเป็นส่วนหนึ่งของการเพิ่ม Firebase ลงในโปรเจ็กต์ Apple หากต้องการใช้โปรเจ็กต์ 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 ต้องปิดใช้การสวิซเซิลเนื่องจากปัญหาที่ทราบแล้ว ดูรายละเอียดเพิ่มเติมได้ที่ส่วนการสลับการเรียกใช้ App Delegate

การสลับแทนที่ App Delegate

Firebase จะสวิซเซิลเมธอดบางอย่างในคลาส App Delegate ของแอปเพื่อเชื่อมต่อบริการบางอย่างของ Firebase กับการเรียกกลับของระบบปฏิบัติการโดยอัตโนมัติ เช่น FCM และโทเค็น APNs คุณปิดใช้การสวิซเซิลในแอปได้โดย เพิ่มแฟล็ก 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 Apple Platform SDK

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

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

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

FirebaseUI

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

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

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

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