Firebase را در پلتفرم های اپل درک کنید

همانطور که در حال توسعه برنامه Apple خود با استفاده از Firebase هستید، ممکن است مفاهیمی را پیدا کنید که برای Firebase ناآشنا یا خاص هستند. هدف این صفحه پاسخ به این سؤالات است یا منابعی را برای کسب اطلاعات بیشتر به شما معرفی می کند.

اگر سؤالی در مورد موضوعی دارید که در این صفحه به آن پرداخته نشده است، به راحتی به یکی از انجمن های آنلاین ما مراجعه کنید. ما همچنین این صفحه را به صورت دوره‌ای با موضوعات جدید به‌روزرسانی می‌کنیم، بنابراین دوباره بررسی کنید تا ببینید آیا موضوعی را که می‌خواهید درباره آن بیاموزید اضافه کرده‌ایم یا خیر!

پشتیبانی از کتابخانه Firebase توسط پلتفرم

جدول زیر توضیح می‌دهد که کدام کتابخانه‌های Firebase با کدام پلتفرم‌های اپل سازگار هستند. در حال حاضر، visionOS و watchOS فقط توسط جامعه پشتیبانی می شوند. برای دستورالعمل‌های نصب و مشکلات شناخته‌شده، به مخزن SDK GitHub پلتفرم‌های Firebase Apple مراجعه کنید.

کتابخانه iOS macOS مک
کاتالیزور
tvOS visionOS watchOS
A/B Testing
Analytics نسخه 8.9.0+ نسخه 8.9.0+ نسخه 8.9.0+
Analytics بدون شناسه آگهی نسخه 8.9.0+ نسخه 8.9.0+ نسخه 8.9.0+
تبدیل Analytics در دستگاه
App Check DeviceCheck ارائه دهنده watchOS 9+
ارائه دهنده گواهی App Check iOS 14+ macOS 11+ کاتالیست 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+ کاتالیست 15+ tvOS 15+ (فقط پشتیبانی انجمن) watchOS 8+

کلیپ های برنامه

اکثر کتابخانه های Firebase در یک هدف کلیپ برنامه ساخته و اجرا می شوند، با این حال، بسیاری از آنها به دلیل محدودیت های اساسی سیستم عامل محدود شده اند. مسائل شناخته شده عبارتند از:

  • اگر کاربران بدون نصب برنامه روی پیوندی ضربه بزنند، پیوندهای پویا نمی توانند آنها را به یک کلیپ برنامه بفرستند.
  • پایگاه داده Firestore و Realtime به دلیل وابستگی اساسی CFStream نمی توانند داده ها را در App Clips بارگیری کنند.

برای مشاهده لیست کامل مشکلات شناخته شده App Clip به مخزن Firebase GitHub مراجعه کنید.

GoogleService-Info.plist

به عنوان بخشی از افزودن Firebase به پروژه Apple خود، باید فایل پیکربندی GoogleService-Info.plist را به پروژه خود اضافه کنید. اگر می‌خواهید از چندین پروژه Firebase در یک برنامه استفاده کنید، از اسناد پیکربندی چندین پروژه دیدن کنید.

برای آشنایی بیشتر با فرآیند اولیه سازی برنامه Firebase، به مستندات مرجع Swift مراجعه کنید.

مدیر بسته سوئیفت

در راهنمای ما درباره ادغام Swift Package Manager بیشتر بیاموزید.

برنامه های افزودنی سوئیفت

افزونه‌های SDK Swift پلتفرم Firebase Apple قبلاً افزونه‌های کوچک و منبع باز کتابخانه‌های پلتفرم Apple Firebase موجود بودند که کد شما را قادر می‌سازد تا از ویژگی‌های زبان Swift استفاده کند. این APIها از آن زمان به طور مستقیم به کتابخانه های اصلی اضافه شده اند و نیازی به گنجاندن جداگانه ندارند. اگر قبلاً یک SDK افزونه Swift در پایگاه کد خود داشتید، برای دستورالعمل‌های ارتقا به راهنمای انتقال مراجعه کنید.

SwiftUI

Firebase به طور کامل از SwiftUI پشتیبانی می کند، اگرچه راه اندازی کمی متفاوت از برنامه های UIKit خواهد بود تا Firebase در یک محیط کاملاً SwiftUI به درستی کار کند. برای جزئیات بیشتر به این پست وبلاگ پیتر فریز نگاهی بیندازید.

برنامه های SwiftUI به دلیل یک مشکل شناخته شده باید Swizzling را غیرفعال کنند. برای جزئیات بیشتر به بخش swizzling delegate app مراجعه کنید.

پخش برنامه نماینده

Firebase برخی از روش‌ها را در کلاس نمایندگی برنامه برنامه شما تغییر می‌دهد تا به طور خودکار برخی از سرویس‌های Firebase را به تماس‌های سیستم‌عامل مانند FCM و توکن APN متصل کند. با افزودن پرچم FirebaseAppDelegateProxyEnabled در فایل Info.plist برنامه و تنظیم آن روی NO ، می‌توانید چرخش را در برنامه خود غیرفعال کنید.

چهار محصول Firebase از Swizzling App Delegate استفاده می‌کنند: Analytics ، App Distribution ، Authentication و FCM . اگر Swizzling را در برنامه خود غیرفعال کرده‌اید و از هر یک از محصولات زیر استفاده می‌کنید، برای آشنایی با نحوه استفاده از محصول بدون چرخاندن به راهنمای محصول مراجعه کنید:

پشتیبانی از iOS 14

iOS 14 شامل تغییرات جدیدی در مجوزهای کاربر پیرامون شناسه تبلیغاتی کاربر است. برای جزئیات بیشتر در مورد اینکه آیا برنامه شما ممکن است تحت تأثیر قرار بگیرد یا خیر، راهنمای آماده سازی برای iOS 14 را ببینید.

پشتیبانی مداوم از Objective-C

برای سهولت در نگهداری اسناد پلتفرم های اپل ما، Firebase تصمیم گرفته است که روی قطعه ها و نمونه کدهای Swift در راهنماها و سایر مواد توسعه دهنده ما تمرکز کند. قطعه‌های Objective-C از 1 ژانویه 2024 از راهنماهای ما حذف خواهند شد. ما به نگهداری اسناد مرجع به روز برای Objective-C برای همه محصولات Firebase ادامه خواهیم داد.

منابع منبع باز برای SDK های پلتفرم Apple Firebase

Firebase از توسعه منبع باز پشتیبانی می کند و ما مشارکت و بازخورد جامعه را تشویق می کنیم.

SDK های پلتفرم اپل Firebase

تمام SDK های Firebase برای پلتفرم های اپل به جز Analytics به عنوان کتابخانه های منبع باز در مخزن عمومی Firebase GitHub ما توسعه داده شده اند.

FirebaseUI

FirebaseUI مجموعه‌ای از کتابخانه‌های ابزاری است که بر روی Firebase ساخته شده‌اند، از جمله یک جریان رابط کاربری برای احراز هویت و ابزارهای داده برای Cloud Firestore و Realtime Database . جزئیات بیشتر درباره FirebaseUI را در صفحه GitHub ما ببینید.

نمونه های شروع سریع

Firebase مجموعه‌ای از نمونه‌های شروع سریع را برای اکثر APIهای Firebase در iOS نگهداری می‌کند. این شروع‌های سریع را در مخزن عمومی Firebase GitHub ما بیابید.

می‌توانید هر شروع سریع را در Xcode باز کنید، سپس آن‌ها را روی یک دستگاه تلفن همراه یا شبیه‌ساز اجرا کنید. یا می توانید از این شروع سریع به عنوان کد نمونه برای استفاده از Firebase SDK استفاده کنید.

،

همانطور که در حال توسعه برنامه Apple خود با استفاده از Firebase هستید، ممکن است مفاهیمی را پیدا کنید که برای Firebase ناآشنا یا خاص هستند. هدف این صفحه پاسخ به این سؤالات است یا منابعی را برای کسب اطلاعات بیشتر به شما معرفی می کند.

اگر سؤالی در مورد موضوعی دارید که در این صفحه به آن پرداخته نشده است، به راحتی به یکی از انجمن های آنلاین ما مراجعه کنید. ما همچنین این صفحه را به صورت دوره‌ای با موضوعات جدید به‌روزرسانی می‌کنیم، بنابراین دوباره بررسی کنید تا ببینید آیا موضوعی را که می‌خواهید درباره آن بیاموزید اضافه کرده‌ایم یا خیر!

پشتیبانی از کتابخانه Firebase توسط پلتفرم

جدول زیر توضیح می‌دهد که کدام کتابخانه‌های Firebase با کدام پلتفرم‌های اپل سازگار هستند. در حال حاضر، visionOS و watchOS فقط توسط جامعه پشتیبانی می شوند. برای دستورالعمل‌های نصب و مشکلات شناخته‌شده، به مخزن SDK GitHub پلتفرم‌های Firebase Apple مراجعه کنید.

کتابخانه iOS macOS مک
کاتالیزور
tvOS visionOS watchOS
A/B Testing
Analytics نسخه 8.9.0+ نسخه 8.9.0+ نسخه 8.9.0+
Analytics بدون شناسه آگهی نسخه 8.9.0+ نسخه 8.9.0+ نسخه 8.9.0+
تبدیل Analytics در دستگاه
App Check DeviceCheck ارائه دهنده watchOS 9+
ارائه دهنده گواهی App Check iOS 14+ macOS 11+ کاتالیست 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+ کاتالیست 15+ tvOS 15+ (فقط پشتیبانی انجمن) watchOS 8+

کلیپ های برنامه

اکثر کتابخانه های Firebase در یک هدف کلیپ برنامه ساخته و اجرا می شوند، با این حال، بسیاری از آنها به دلیل محدودیت های اساسی سیستم عامل محدود شده اند. مسائل شناخته شده عبارتند از:

  • اگر کاربران بدون نصب برنامه روی پیوندی ضربه بزنند، پیوندهای پویا نمی توانند آنها را به یک کلیپ برنامه بفرستند.
  • پایگاه داده Firestore و Realtime به دلیل وابستگی اساسی CFStream نمی توانند داده ها را در App Clips بارگیری کنند.

برای مشاهده لیست کامل مشکلات شناخته شده App Clip به مخزن Firebase GitHub مراجعه کنید.

GoogleService-Info.plist

به عنوان بخشی از افزودن Firebase به پروژه Apple خود، باید فایل پیکربندی GoogleService-Info.plist را به پروژه خود اضافه کنید. اگر می‌خواهید از چندین پروژه Firebase در یک برنامه استفاده کنید، از اسناد پیکربندی چندین پروژه دیدن کنید.

برای آشنایی بیشتر با فرآیند اولیه سازی برنامه Firebase، به مستندات مرجع Swift مراجعه کنید.

مدیر بسته سوئیفت

در راهنمای ما درباره ادغام Swift Package Manager بیشتر بیاموزید.

برنامه های افزودنی سوئیفت

افزونه‌های SDK Swift پلتفرم Firebase Apple قبلاً افزونه‌های کوچک و منبع باز کتابخانه‌های پلتفرم Apple Firebase موجود بودند که کد شما را قادر می‌سازد تا از ویژگی‌های زبان Swift استفاده کند. این APIها از آن زمان به طور مستقیم به کتابخانه های اصلی اضافه شده اند و نیازی به گنجاندن جداگانه ندارند. اگر قبلاً یک SDK افزونه Swift در پایگاه کد خود داشتید، برای دستورالعمل‌های ارتقا به راهنمای انتقال مراجعه کنید.

SwiftUI

Firebase به طور کامل از SwiftUI پشتیبانی می کند، اگرچه راه اندازی کمی متفاوت از برنامه های UIKit خواهد بود تا Firebase در یک محیط کاملاً SwiftUI به درستی کار کند. برای جزئیات بیشتر به این پست وبلاگ پیتر فریز نگاهی بیندازید.

برنامه های SwiftUI به دلیل یک مشکل شناخته شده باید Swizzling را غیرفعال کنند. برای جزئیات بیشتر به بخش swizzling delegate app مراجعه کنید.

پخش برنامه نماینده

Firebase برخی از روش‌ها را در کلاس نمایندگی برنامه برنامه شما تغییر می‌دهد تا به طور خودکار برخی از سرویس‌های Firebase را به تماس‌های سیستم‌عامل مانند FCM و توکن APN متصل کند. با افزودن پرچم FirebaseAppDelegateProxyEnabled در فایل Info.plist برنامه و تنظیم آن روی NO ، می‌توانید چرخش را در برنامه خود غیرفعال کنید.

چهار محصول Firebase از Swizzling App Delegate استفاده می‌کنند: Analytics ، App Distribution ، Authentication و FCM . اگر Swizzling را در برنامه خود غیرفعال کرده‌اید و از هر یک از محصولات زیر استفاده می‌کنید، برای آشنایی با نحوه استفاده از محصول بدون چرخاندن به راهنمای محصول مراجعه کنید:

پشتیبانی از iOS 14

iOS 14 شامل تغییرات جدیدی در مجوزهای کاربر پیرامون شناسه تبلیغاتی کاربر است. برای جزئیات بیشتر در مورد اینکه آیا برنامه شما ممکن است تحت تأثیر قرار بگیرد یا خیر، راهنمای آماده سازی برای iOS 14 را ببینید.

پشتیبانی مداوم از Objective-C

برای سهولت در نگهداری اسناد پلتفرم های اپل ما، Firebase تصمیم گرفته است که روی قطعه ها و نمونه کدهای Swift در راهنماها و سایر مواد توسعه دهنده ما تمرکز کند. قطعه‌های Objective-C از 1 ژانویه 2024 از راهنماهای ما حذف خواهند شد. ما به نگهداری اسناد مرجع به روز برای Objective-C برای همه محصولات Firebase ادامه خواهیم داد.

منابع منبع باز برای SDK های پلتفرم Apple Firebase

Firebase از توسعه منبع باز پشتیبانی می کند و ما مشارکت و بازخورد جامعه را تشویق می کنیم.

SDK های پلتفرم اپل Firebase

تمام SDK های Firebase برای پلتفرم های اپل به جز Analytics به عنوان کتابخانه های منبع باز در مخزن عمومی Firebase GitHub ما توسعه داده شده اند.

FirebaseUI

FirebaseUI مجموعه‌ای از کتابخانه‌های ابزاری است که بر روی Firebase ساخته شده‌اند، از جمله یک جریان رابط کاربری برای احراز هویت و ابزارهای داده برای Cloud Firestore و Realtime Database . جزئیات بیشتر درباره FirebaseUI را در صفحه GitHub ما ببینید.

نمونه های شروع سریع

Firebase مجموعه‌ای از نمونه‌های شروع سریع را برای اکثر APIهای Firebase در iOS نگهداری می‌کند. این شروع‌های سریع را در مخزن عمومی Firebase GitHub ما بیابید.

می‌توانید هر شروع سریع را در Xcode باز کنید، سپس آن‌ها را روی یک دستگاه تلفن همراه یا شبیه‌ساز اجرا کنید. یا می توانید از این شروع سریع به عنوان کد نمونه برای استفاده از Firebase SDK استفاده کنید.