همانطور که در حال توسعه پروژه اندروید خود با استفاده از Firebase هستید، ممکن است مفاهیمی را کشف کنید که ناآشنا یا مختص Firebase باشند. این صفحه قصد دارد به این سؤالات پاسخ دهد یا شما را به منابعی برای کسب اطلاعات بیشتر راهنمایی کند.
اگر در مورد موضوعی که در این صفحه پوشش داده نشده است سؤالی دارید، میتوانید از یکی از انجمنهای آنلاین ما دیدن کنید. ما همچنین این صفحه را به صورت دورهای با موضوعات جدید بهروزرسانی خواهیم کرد، بنابراین دوباره بررسی کنید تا ببینید آیا موضوع مورد نظر شما برای یادگیری اضافه شده است یا خیر!
افزونه دستیار فایربیس برای اندروید استودیو
دستیار فایربیس (Firebase Assistant) یک افزونه اندروید استودیو است که برنامه اندروید شما را در یک پروژه فایربیس ثبت میکند و فایلهای پیکربندی، افزونهها و وابستگیهای لازم فایربیس را به پروژه اندروید شما اضافه میکند - همه اینها از داخل اندروید استودیو!
برای استفاده از دستیار فایربیس، دستورالعملهای موجود در صفحه شروع به کار اندروید را دنبال کنید. مطمئن شوید که از بهروزترین نسخههای اندروید استودیو و دستیار فایربیس استفاده میکنید (به File > Check for updates بروید).
وقتی محصولات خاصی از Firebase را برای افزودن به برنامه خود انتخاب میکنید، Firebase Assistant به طور خودکار وابستگیهای مورد نیاز را در فایل app/build.gradle شما اعلام میکند. توجه داشته باشید که اگر میخواهید از Firebase Android BoM (توصیه شده) استفاده کنید، وابستگیها را در فایل Gradle ماژول (سطح برنامه) خود (معمولاً app/build.gradle ) بهروزرسانی کنید تا پلتفرم BoM را وارد کنید. همچنین باید نسخهها را از هر خط وابستگی کتابخانه Firebase حذف کنید.
علاوه بر این، برای استفاده از برخی محصولات Firebase، باید APIها یا منابع را خارج از اندروید استودیو فعال کنید. دستورالعملهای مربوط به هر محصول در Firebase Assistant، هرگونه اقدام اضافی را که باید انجام دهید، شرح میدهد. به عنوان مثال، برای استفاده از Cloud Firestore ، باید پایگاه داده و قوانین خود را در کنسول Firebase تنظیم کنید.
سرویسهای گوگل - افزونه و فایل پیکربندی
به عنوان بخشی از افزودن Firebase به پروژه اندروید خود، باید افزونه google-services و فایل پیکربندی را به پروژه خود اضافه کنید.
اگر Firebase را از طریق کنسول Firebase ، رابط برنامهنویسی مدیریت REST یا رابط خط فرمان Firebase به پروژه اندروید خود اضافه کنید، باید افزونه و فایل پیکربندی را به صورت دستی به پروژه خود اضافه کنید. با این حال، اگر از دستیار Firebase استفاده میکنید، این وظایف به طور خودکار در طول راهاندازی برای شما انجام میشوند.
برای آشنایی با نحوهی همکاری افزونهی سرویسهای گوگل و فایل پیکربندی، به مستندات اندروید مراجعه کنید.
Firebase Android BoM ( Bill of Materials )
Firebase Android BoM ( Bill of Materials ) به شما امکان میدهد تمام نسخههای کتابخانه Firebase خود را با مشخص کردن تنها یک نسخه - نسخه BoM - مدیریت کنید.
وقتی از Firebase BoM در برنامه خود استفاده میکنید، BoM به طور خودکار نسخههای کتابخانههای نگاشت شده به نسخه BoM را دریافت میکند. همه نسخههای کتابخانههای مجزا با هم سازگار خواهند بود. وقتی نسخه BoM را در برنامه خود بهروزرسانی میکنید، تمام کتابخانههای Firebase که در برنامه خود استفاده میکنید، به نسخههای نگاشت شده به آن نسخه BoM بهروزرسانی میشوند.
برای اطلاع از اینکه کدام نسخههای کتابخانه Firebase به یک نسخه BoM خاص نگاشت شدهاند، یادداشتهای انتشار آن نسخه BoM را بررسی کنید. اگر نیاز به مقایسه نسخههای کتابخانه نگاشت شده به یک نسخه BoM در مقایسه با نسخه BoM دیگر دارید، از ویجت مقایسه زیر استفاده کنید.
درباره پشتیبانی Gradle از پلتفرمهای BoM بیشتر بدانید.
در اینجا نحوه استفاده از Firebase Android BoM برای اعلام وابستگیها در فایل Gradle ماژول (سطح برنامه) شما (معمولاً app/build.gradle ) آورده شده است. هنگام استفاده از BoM ، نسخههای کتابخانههای جداگانه را در خطوط وابستگی مشخص نمیکنید.
dependencies { // Import the BoM for the Firebase platform implementation platform('com.google.firebase:firebase-bom:34.17.0') // Declare the dependencies for the desired Firebase products without specifying versions // For example, declare the dependencies for Firebase Authentication and Cloud Firestore implementation 'com.google.firebase:firebase-auth' implementation 'com.google.firebase:firebase-firestore' }
در اینجا چند سوال متداول در مورد استفاده از Firebase Android BoM مطرح شده است:
در اینجا نحوهی لغو نسخهی کتابخانهی تعیینشده در BoM آمده است:
خط را برای واردات پلتفرم BoM حفظ کنید.
در خط وابستگی کتابخانه، نسخه کتابخانه مورد نظر را مشخص کنید. برای مثال، در اینجا نحوه اعلام وابستگیها آمده است اگر میخواهید از نسخه ۱۸.۰.۰ App Indexing استفاده کنید، صرف نظر از اینکه چه نسخهای در BoM تعیین شده است، اما میخواهید از نسخههای BoM برای Authentication و Cloud Firestore استفاده کنید:
dependencies { // Import the BoM for the Firebase platform implementation platform('com.google.firebase:firebase-bom:34.17.0') // Declare the dependency for the App Indexing library and specify a version // This specified library version overrides the version designated in the BoM. implementation 'com.google.firebase:firebase-appindexing:18.0.0' // Declare the dependencies for the other Firebase libraries without specifying versions // These libraries will use the versions designated in the BoM. implementation 'com.google.firebase:firebase-auth' implementation 'com.google.firebase:firebase-firestore' }
خیر. برای افزودن و استفاده از کتابخانههای Firebase در برنامه خود، باید هر کتابخانه را به عنوان یک خط وابستگی جداگانه در فایل Gradle ماژول (سطح برنامه) خود (معمولاً app/build.gradle ) اعلام کنید.
استفاده از BoM تضمین میکند که نسخههای هر کتابخانه Firebase در برنامه شما سازگار هستند، اما BoM در واقع آن کتابخانههای Firebase را به برنامه شما اضافه نمیکند.
در ژوئیه ۲۰۲۵ ( BoM نسخه ۳۴.۰.۰)، کتابخانههای افزونههای کاتلین فایربیس (KTX) از BoM حذف شدند. اگر از نسخه BoM قبل از v۳۴.۰.۰ استفاده میکنید، میتوانید به استفاده از کتابخانههای KTX در برنامه خود ادامه دهید.
با این حال، توصیه میکنیم برنامه خود را به گونهای منتقل کنید که از APIهای KTX از ماژولهای اصلی استفاده کند؛ در غیر این صورت، نمیتوانید به نسخههای جدیدتر BoM و در نتیجه نسخههای جدیدتر کتابخانههای محصول Firebase بهروزرسانی کنید. برای جزئیات بیشتر، به سوالات متداول در مورد این ابتکار عمل مراجعه کنید.
خیر. Firebase Android BoM فقط نسخههای کتابخانهای مربوط به کتابخانههای Firebase را مدیریت میکند.
اگرچه هر کتابخانه Firebase به طور مستقل نسخهبندی میشود، اما آنها با هم ساخته شدهاند تا اطمینان حاصل شود که آخرین نسخه هر کتابخانه با سایرین سازگار است.
با استفاده از BoM برای مدیریت نسخههای کتابخانه Firebase برنامه خود، نیازی به پیگیری اینکه کدام نسخه از یک کتابخانه Firebase با کتابخانه Firebase دیگری سازگار است، ندارید.
حتی اگر در حال حاضر فقط از یک کتابخانه Firebase در برنامه خود استفاده میکنید، ما همچنان استفاده از BoM را توصیه میکنیم زیرا هرگز نمیدانید چه زمانی ممکن است بخواهید از یک کتابخانه Firebase دیگر استفاده کنید!
بله، شما هنوز هم میتوانید از BoM استفاده کنید! برای Gradle 5.0 و بالاتر، پشتیبانی BoM به طور خودکار فعال میشود. با این حال، برای نسخههای قبلی Gradle، فقط باید ویژگی BoM را فعال کنید و BoM کمی متفاوت وارد کنید.
به فایل
settings.gradleخود،enableFeaturePreview('IMPROVED_POM_SUPPORT')را اضافه کنید.در فایل Gradle ماژول (در سطح برنامه) خود (معمولاً
app/build.gradle)، BoM را مانند یک کتابخانه معمولی (بدون اصلاحکنندهplatform) به صورت زیر وارد کنید:dependencies { // Import the Firebase BoM implementation 'com.google.firebase:firebase-bom:34.17.0' // Declare the dependencies for the desired Firebase products, without specifying versions // For example, declare the dependencies for Firebase Authentication and Cloud Firestore implementation 'com.google.firebase:firebase-auth' implementation 'com.google.firebase:firebase-firestore' }
از مخزن Firebase Android SDK در GitHub دیدن کنید.
مقایسه نسخههای Firebase BoM
ماژولهای کتابخانه افزونههای کاتلین (KTX)
ماژولهای ویژه و ارائه ویژگیهای پخش
از ماه مه 2021 ( Firebase BoM v28.0.0)، SDK های اندروید Firebase را میتوان در ماژولهای ویژگی پویا که جداگانه از ماژول برنامه پایه شما نصب میشوند، استفاده کرد.
برای فعال کردن پشتیبانی از ماژولهای ویژگی پویا، وابستگی زیر را به فایل build.gradle ماژول پایه خود اضافه کنید:
dependencies {
implementation 'com.google.firebase:firebase-dynamic-module-support:16.0.0-beta04'
}
اکنون که پشتیبانی از ماژول پویا را اضافه کردهاید، میتوانید وابستگیهای Firebase SDK (با یا بدون Firebase BoM ) را به ماژولهای ویژه برنامه خود اضافه کنید و طبق معمول از آنها استفاده کنید.
برای مثال، اگر برنامه شما Realtime Database برای راهاندازی یک ویژگی خاص realtime استفاده میکند، میتوانید وابستگی firebase-database را به build.gradle ماژول feature به جای ماژول پایه اضافه کنید. این کار حجم دانلود را برای اکثر کاربران کاهش میدهد.
هنگام استفاده از SDK های فایربیس در ماژول های ویژگی، از موارد احتیاطی زیر آگاه باشید:
محصولاتی مانند Dynamic Links یا Firebase In-App Messaging که به رویداد Analytics
first_openمتکی هستند، ممکن است هنگام استفاده در یک ماژول ویژگی پویا، این رویداد را از دست بدهند.هنگام استفاده همزمان Cloud Firestore و Authentication ، همیشه باید هر دو را در یک ماژول قرار دهید. اگر این امکان وجود ندارد، مطمئن شوید که Authentication قبل از Cloud Firestore بارگذاری شده است؛ در غیر این صورت، برخی از عملیات Cloud Firestore ممکن است وضعیت احراز هویت نادرستی داشته باشند.
هنگام استفاده از
firebase-crashlytics-ndkبه عنوان وابستگی یک ماژول ویژگی پویا، باید ویژگیunstrippedNativeLibsDirرا در فایلbuild.gradleبرنامه خود تنظیم کنید، همانطور که در مستندات Crashlytics NDK توضیح داده شده است.
برای اطلاعات بیشتر در مورد ماژولهای ویژگی و ارائه ویژگی Play، به «مروری بر ارائه ویژگی Play» مراجعه کنید.
افزونه Gradle سرویسهای گوگل در مقابل سرویسهای گوگل پلی در مقابل فروشگاه گوگل پلی
چندین بخش از اکوسیستم گوگل، فایربیس و اندروید قراردادهای نامگذاری مشابهی دارند. در اینجا توضیح مختصری برای هر کدام آورده شده است:
- افزونه Gradle سرویسهای گوگل
- یک افزونهی Gradle (
com.google.gms.google-services) که در زمان ساخت اجرا میشود تا اطمینان حاصل شود که برنامهی شما پیکربندی مناسبی برای دسترسی به Firebase و APIهای گوگل دارد. - برخلاف نامش، این افزونه هیچ ارتباطی با سرویسهای گوگل پلی ندارد (به مطلب بعدی مراجعه کنید) و هیچ تاثیری بر قابلیتهای برنامه شما در زمان اجرا ندارد.
- این افزونه همچنین فایل
google-services.jsonرا که به عنوان بخشی از راهاندازی Firebase به برنامه خود اضافه میکنید، پردازش میکند. درباره افزونه Google services Gradle بیشتر بدانید. - سرویسهای گوگل پلی
- یک سرویس پسزمینه نامرئی که روی دستگاه اندروید اجرا میشود و چندین API رایج گوگل (مانند نقشههای گوگل و ورود به سیستم گوگل) را در اختیار برنامههای روی دستگاه قرار میدهد.
- با متمرکز کردن این APIهای مشترک در یک سرویس واحد، اندازه سایر برنامهها کاهش مییابد و به دستگاه اجازه میدهد بدون نیاز به بهروزرسانی سیستم عامل، بهروزرسانیهای امنیتی و بهبودهای ویژگی را به صورت خودکار دریافت کند. درباره سرویسهای Google Play بیشتر بدانید.
- فروشگاه گوگل پلی
- فروشگاهی برای دانلود برنامهها، فیلمها، کتابها و موارد دیگر در دستگاه اندروید
- به عنوان یک توسعهدهنده، شما توزیع، انتشار و غیره را برای برنامه خود از طریق کنسول گوگل پلی مدیریت میکنید. اگر دستگاهی فروشگاه گوگل پلی داشته باشد، سرویسهای گوگل پلی را نیز اجرا میکند (به مطلب قبلی مراجعه کنید). درباره فروشگاه گوگل پلی برای توسعهدهندگان بیشتر بدانید.
- سرویسهای بازیهای گوگل پلی
- مجموعهای از APIها برای توسعهدهندگان بازیهای موبایل
- درباره سرویسهای بازیهای گوگل پلی و نحوه ادغام فایربیس با پروژه سرویسهای بازیهای گوگل پلی خود بیشتر بدانید.
منابع متنباز برای SDKهای اندروید فایربیس
فایربیس از توسعه متنباز پشتیبانی میکند و ما مشارکتها و بازخوردهای جامعه را تشویق میکنیم.
SDK های اندروید فایربیس
بیشتر SDK های اندروید فایربیس به عنوان کتابخانههای متنباز در مخزن عمومی گیتهاب فایربیس ما توسعه داده شدهاند. ما به طور فعال در تلاش هستیم تا کتابخانههای خصوصی توسعهیافتهی فایربیس باقیمانده را به زودی به گیتهاب عمومی خود منتقل کنیم!
نمونههای شروع سریع
فایربیس مجموعهای از نمونههای شروع سریع را برای اکثر APIهای فایربیس در اندروید نگهداری میکند. این نمونههای شروع سریع را در مخزن شروع سریع عمومی گیتهاب فایربیس ما پیدا کنید.
میتوانید هر Quickstart را به عنوان یک پروژه اندروید استودیو باز کنید، سپس آنها را روی یک دستگاه تلفن همراه یا یک دستگاه مجازی (AVD) اجرا کنید. یا میتوانید از این Quickstartها به عنوان کد نمونه برای استفاده از SDKهای فایربیس استفاده کنید.
سایر موضوعات مورد علاقه
- وابستگیهای SDKهای اندروید فایربیس به سرویسهای گوگل پلی
- برنامه Firebase خود را به Google Play پیوند دهید
- با پروژه سرویسهای بازیهای Play خود ادغام شوید