Firebase برای اندروید را درک کنید

همانطور که در حال توسعه پروژه اندروید خود با استفاده از 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 و فایل پیکربندی google-services.json را به پروژه خود اضافه کنید.

اگر 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 مطرح شده است:

مقایسه نسخه‌های 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های فایربیس استفاده کنید.

سایر موضوعات مورد علاقه