Join us for Firebase Summit on November 10, 2021. Tune in to learn how Firebase can help you accelerate app development, release with confidence, and scale with ease. Register

درباره Android و Firebase بیشتر بیاموزید

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

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

افزونه Assistant Firebase برای Android Studio

Firebase Assistant یک افزونه Android Studio است که برنامه Android شما را با یک پروژه Firebase ثبت می کند و فایل های پیکربندی Firebase ، افزونه ها و وابستگی های لازم را به پروژه Android شما اضافه می کند - همه از Android Studio!

دستورالعمل دنبال آندروید گرفتن صفحه آغاز به استفاده از دستیار فایربیس. اطمینان حاصل کنید که شما با استفاده از جدیدترین نسخههای به روز از هر دو Studio آندروید و فایربیس دستیار (به File> برای به روز رسانی را بررسی کنید).

هنگامی که شما انتخاب محصولات خاص فایربیس برای اضافه کردن به برنامه های خود را، فایربیس Assistant به صورت خودکار اعلام وابسته موجود در خود را app/build.gradle فایل. با این حال ، برای استفاده از ویژگی های Firebase که فراتر از قابلیت های فعلی دستیار Firebase است ، ممکن است بخواهید برخی تغییرات دستی را در این وابستگی ها اعمال کنید:

  • اگر شما می خواهید به استفاده از فایربیس آندروید BOM ، به روز رسانی وابستگیها در ماژول خود را (در سطح برنامه) فایل Gradle (معمولا app/build.gradle ) به واردات پلت فرم BOM. همچنین باید نسخه ها را از هر خط وابستگی به کتابخانه Firebase حذف کنید.

  • اگر شما می خواهید به استفاده از یک کتابخانه Kotlin پسوند ، تغییر خط وابستگی به ماژول خود را (در سطح برنامه) فایل Gradle (معمولا اضافه app/build.gradle ) برای استفاده از ktx نسخهای از کتابخانه فایربیس به جای.

خدمات Google - فایل افزونه و پیکربندی

به عنوان بخشی از اضافه کردن فایربیس به پروژه آندروید خود را، شما نیاز به اضافه کردن google-services پلاگین و یک google-services.json فایل پیکربندی را به پروژه خود.

اگر شما فایربیس اضافه کردن به پروژه آندروید خود را از طریق فایربیس کنسول از API مدیریت REST ، یا فایربیس CLI ، شما باید به صورت دستی پلاگین و فایل پیکربندی را به پروژه خود اضافه کنید. حال، اگر شما با استفاده از دستیار فایربیس ، این وظایف به طور خودکار برای شما در طول راه اندازی انجام می شود.

مشاهده مستندات آندروید در مورد چگونگی خدمات گوگل پلاگین و کار فایل پیکربندی با هم یاد بگیرند.

Firebase Android BoM (Bill of Materials)

Firebase Android BoM (Bill of Materials) به شما امکان می دهد تمام نسخه های کتابخانه Firebase خود را با تعیین تنها یک نسخه - نسخه BoM ، مدیریت کنید.

هنگامی که از FireBase BoM در برنامه خود استفاده می کنید ، BoM به طور خودکار نسخه های کتابخانه جداگانه ای را که به نسخه BoM ترسیم شده اند وارد می کند. همه نسخه های کتابخانه جداگانه سازگار خواهند بود. وقتی نسخه BoM را در برنامه خود به روز می کنید ، همه کتابخانه های Firebase که در برنامه خود استفاده می کنید به نسخه های نقشه برداری شده به آن نسخه BoM به روز می شوند.

یاد بگیرند که فایربیس نسخه کتابخانه به یک نسخه BOM خاص نقشه برداری، چک کردن نکات انتشار آن نسخه را BOM. اگر شما نیاز به مقایسه نسخه های کتابخانه نقشه برداری به یک نسخه BOM در مقایسه با یکی دیگر از نسخه BOM، با استفاده از ویجت مقایسه زیر کلیک کنید.

اطلاعات بیشتر در مورد پشتیبانی Gradle برای سیستم عامل های BOM .

در اینجا نحوه استفاده از فایربیس آندروید BOM به وابستگی اعلام در ماژول خود را (در سطح برنامه) فایل Gradle (معمولا app/build.gradle ). هنگام استفاده از BoM ، نسخه های جداگانه کتابخانه را در خطوط وابستگی مشخص نمی کنید.

dependencies {
  // Import the BoM for the Firebase platform
  implementation platform('com.google.firebase:firebase-bom:28.4.2')

  // 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 را مقایسه کنید

کتابخانه های افزونه Kotlin (KTX)

کتابخانه های افزونه Firebase Kotlin (KTX) همراهان کوچکی برای SDK های اصلی Firebase هستند که به شما امکان می دهد کد زیبا و اصیل Kotlin را بنویسید.

برای استفاده از یک کتابخانه KTX در برنامه شما، تغییر وابستگی خود را که شامل -ktx پسوند. هر کتابخانه KTX به طور خودکار وابسته به کتابخانه اصلی است ، بنابراین نیازی به وارد کردن هر دو وابستگی در برنامه شما نیست.

dependencies {
  // Import the BoM for the Firebase platform (learn more)
  implementation platform('com.google.firebase:firebase-bom:28.4.2')

  // Declare the base library
  implementation 'com.google.firebase:firebase-analytics'

  // Declare the KTX library instead (which automatically has a dependency on the base library)
  implementation 'com.google.firebase:firebase-analytics-ktx'
}

هر کتابخانه KTX پسوند نحوی مختلف کتابخانه اصلی را ارائه می دهد. برای مثال ، کتابخانه Analytics KTX ثبت رویدادها را ساده تر می کند:

قبل از (با استفاده از کتابخانه پایه)

val analytics = FirebaseAnalytics.getInstance();
val bundle = Bundle();
bundle.putString(FirebaseAnalytics.Param.ITEM_ID, id);
bundle.putString(FirebaseAnalytics.Param.ITEM_NAME, name);
bundle.putString(FirebaseAnalytics.Param.CONTENT_TYPE, "image");
analytics.logEvent(FirebaseAnalytics.Event.SELECT_ITEM, bundle);

پس از (با استفاده از کتابخانه KTX به جای)

firebaseAnalytics.logEvent(FirebaseAnalytics.Event.SELECT_ITEM) {
    param(FirebaseAnalytics.Param.ITEM_ID, id)
    param(FirebaseAnalytics.Param.ITEM_NAME, name)
    param(FirebaseAnalytics.Param.CONTENT_TYPE, "image")
}

همه محصولات فایربیس ارائه کتابخانه KTX به جز برای فایربیس ML و فهرست کردن برنامه.

اگر شما هنوز رتبهدهی نشده، چک کردن اسناد API مرجع برای کتابخانه KTX.

ماژول های ویژه و تحویل ویژگی Play

از ماه مه 2021 (Firebase BoM v28.0.0) ، SDK های Firebase Android را می توان در ماژول های ویژگی پویا که جدا از ماژول برنامه اصلی شما نصب شده اند ، استفاده کرد.

برای فعال کردن پشتیبانی برای ماژول ویژگی پویا، اضافه کردن وابستگی های زیر را به ماژول پایه خود را build.gradle فایل:

dependencies {
  implementation 'com.google.firebase:firebase-dynamic-module-support:16.0.0-beta01'
}

اکنون که پشتیبانی ماژول پویا را اضافه کرده اید ، می توانید وابستگی های Firebase SDK (با یا بدون Firebase BoM) را به ویژگی های ماژول های برنامه خود اضافه کرده و از آنها به طور معمول استفاده کنید.

برای مثال، اگر برنامه شما از پایگاه بیدرنگ به قدرت خاص بیدرنگ از ویژگی های شما می تواند اضافه firebase-database وابستگی به build.gradle ماژول ویژگی به جای ماژول پایه. با این کار حجم بارگیری برای اکثر کاربران کاهش می یابد.

هنگام استفاده از SDK های Firebase در ماژول های ویژگی به نکات زیر توجه داشته باشید:

  • محصولات مانند دینامیک لینک یا فایربیس در برنامه پیامرسانی که در تجزیه و تحلیل ترافیک تکیه first_open رویداد ممکن است این رویداد زمانی که در یک ماژول ویژگی پویا استفاده می شود را از دست ندهید.

  • هنگام استفاده از Cloud Firestore و Authentication با هم ، همیشه باید هر دو را در یک ماژول قرار دهید. اگر این امکان پذیر نیست، پس مطمئن شوید که احراز هویت قبل از ابر Firestore لود. در غیر این صورت ، برخی از عملیات Cloud Firestore ممکن است دارای وضعیت احراز هویت نادرست باشند.

  • هنگام استفاده از firebase-crashlytics-ndk به عنوان یک وابستگی از یک ماژول ویژگی پویا، شما نیاز به تنظیم unstrippedNativeLibsDir ملک در برنامه خود را build.gradle فایل، به عنوان توضیح داده شده در اسناد و مدارک Crashlytics NDK .

برای اطلاعات بیشتر در ماژول ویژگی و قابلیت بازی تحویل، بازدید از تحویل قابلیت بازی نمای کلی .

Google Services افزونه Gradle در مقابل خدمات Google Play در مقابل Google Play Store

چندین قطعه از اکوسیستم Google ، Firebase و Android دارای قوانین نامگذاری مشابه هستند. در اینجا توضیح مختصری برای هر کدام آمده است:

افزونه Google Services Gradle
Gradle پلاگین ( com.google.gms.google-services ) که اجرا می شود در زمان ساخت به اطمینان حاصل شود که برنامه شما دارای پیکربندی حق دسترسی فایربیس و گوگل رابط های برنامه کاربردی
این افزونه با وجود نامی که دارد ، هیچ ارتباطی با خدمات Google Play ندارد (به مقاله بعدی مراجعه کنید) و هیچ تاثیری بر قابلیت های برنامه شما در زمان اجرا ندارد.
این افزونه همچنین پروسه google-services.json فایل است که شما به برنامه خود را اضافه کنید به عنوان بخشی از راه اندازی فایربیس. اطلاعات بیشتر در مورد یادگیری سرویس های Google پلاگین Gradle .
خدمات Google Play
یک سرویس پس زمینه نامرئی که روی دستگاه Android اجرا می شود و چندین API رایج Google (مانند Google Maps و Google Sign in) را برای برنامه های دستگاه ارائه می دهد
با متمرکز کردن این API های رایج در یک سرویس ، اندازه برنامه های دیگر را کاهش می دهد و به دستگاه اجازه می دهد بدون به روزرسانی سیستم عامل ، به طور خودکار به روزرسانی های امنیتی و پیشرفت های ویژگی را دریافت کند. اطلاعات بیشتر در مورد خدمات بازی گوگل .
فروشگاه Google Play
فروشگاهی برای بارگیری برنامه ها ، فیلم ها ، کتابها و موارد دیگر در دستگاه Android
شما به عنوان برنامه نویس ، توزیع ، انتشارات و غیره برنامه خود را از طریق کنسول Google Play مدیریت می کنید. اگر دستگاهی دارای فروشگاه Google Play است ، خدمات Google Play را نیز اجرا می کند (به مقاله قبلی مراجعه کنید). اطلاعات بیشتر در مورد یادگیری فروشگاه Google Play برای توسعه دهندگان .
خدمات بازی های Google Play
مجموعه ای از API ها برای توسعه دهندگان بازی های تلفن همراه
اطلاعات بیشتر در مورد بازی Google Play خدمات و چگونه به ادغام فایربیس با بازی بازی Google خود خدمات پروژه .

منابع منبع باز برای SDK های Android Firebase

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

SDK های Firebase Android

ترین فایربیس آندروید SDK ها به عنوان کتابخانه های منبع باز در ملاء عام ما را توسعه مخزن فایربیس گیتهاب . ما به طور فعال در حال کار هستیم تا به زودی کتابخانه های خصوصی توسعه یافته باقی مانده Firebase را به GitHub عمومی خود منتقل کنیم!

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

Firebase مجموعه ای از نمونه های شروع سریع را برای اکثر API های Firebase در Android نگهداری می کند. پیدا کردن این quickstarts در عمومی ما فایربیس گیتهاب مخزن شروع سریع .

می توانید هر Quickstart را به عنوان یک پروژه Android Studio باز کنید ، سپس آنها را در دستگاه تلفن همراه یا دستگاه مجازی (AVD) اجرا کنید. یا می توانید از این راه اندازی سریع به عنوان کد نمونه برای استفاده از SDK های Firebase استفاده کنید.

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