این سند حاوی چک لیستی از بهترین شیوه ها و ملاحظات قبل از راه اندازی برنامه Firebase برای تولید است.
بهترین شیوه های عمومی برای انتشار
مطمئن شوید که همه تغییرات خود را در Firebase Local Emulator Suite (برای محصولات پشتیبانی شده) قبل از استقرار در تولید آزمایش کرده اید. آزمایش کامل می تواند به جلوگیری از اشتباهات پرهزینه کمک کند.
اجرای Firebase App Check برای هر سرویسی که از آن پشتیبانی می کند، شروع کنید. App Check کمک می کند مطمئن شوید که فقط برنامه های واقعی شما می توانند به خدمات و منابع پشتیبان شما دسترسی داشته باشند.
چک لیست امنیتی عمومی Firebase را مرور کنید.
از راهاندازی Firebase Remote Config استفاده کنید تا ویژگیها و بهروزرسانیهای جدید را بهطور ایمن و بهتدریج در برنامهتان منتشر کنید.
اگر قبلاً این کار را نکردهاید، Firebase Crashlytics راهاندازی کنید. این یک گزارشگر تصادف سبک و بیدرنگ است که به شما کمک میکند مشکلات پایداری را که کیفیت برنامه شما را کاهش میدهند، ردیابی، اولویتبندی و رفع کنید.
محدودیت های طرح قیمت گذاری خود را بدانید و هشدارهای بودجه را تنظیم کنید
اطمینان حاصل کنید که پس از رفتن به تولید، به محدودیتها و سهمیههای استفاده نرسیدهاید، بهخصوص اگر در طرح اسپارک بدون هزینه هستید. ارتقا به طرح قیمت گذاری Blaze را در نظر بگیرید.
هشدارهای بودجه را برای پروژه خود تنظیم کنید.
توجه داشته باشید که هشدارهای بودجه سقف بودجه نیستند . هنگامی که به آستانه پیکربندی شده خود نزدیک می شوید یا از آن فراتر می روید، یک هشدار برای شما ارتباطات ارسال می کند تا بتوانید در برنامه یا پروژه خود اقدام کنید.
تنظیم هشدارها و اقدامات پیشرفته را در نظر بگیرید، مانند عملکردهایی که صدور صورتحساب را در پاسخ به هشدارها غیرفعال میکنند.
استفاده خود را در داشبوردهای خاص محصول یا در داشبورد مرکزی استفاده و صورتحساب در کنسول Firebase نظارت کنید.
مطمئن شوید که پروژهها و برنامههای Firebase شما از بهترین شیوهها پیروی میکنند
فرقی نمیکند که یک توسعهدهنده یا یک تیم در اندازه سازمانی باشید، مهم است که مطمئن شوید پروژهها، برنامهها و منابع Firebase شما محافظت، ایمن هستند و میتوانند با تغییرات در تیم شما تکامل یابند.
یادآوری این نکته مفید است که یک پروژه Firebase در واقع فقط یک پروژه Google Cloud است که خدمات و تنظیمات Firebase برای آن فعال شده است. این بدان معناست که بسیاری از بهترین روشهایی که Google Cloud توصیه میکند برای Firebase نیز قابل اجرا هستند.
از پروژه های مختلف Firebase برای توسعه، آزمایش و تولید استفاده کنید.
سعی کنید قرار گرفتن در معرض غیرمنتظره را با پروژه مرتبط با برنامه تولید خود محدود کنید. درباره تنظیم گردش کار توسعه بیشتر بیاموزید.
از پروژه های مهم خود، به ویژه پروژه های مرتبط با برنامه تولیدی خود محافظت کنید.
برای محافظت در برابر حذف تصادفی پروژه از حق مالکیت پروژه استفاده کنید.
یک تگ "Prod" را در کنسول Firebase اعمال کنید تا شناسایی محیط تولید خود را آسانتر کنید.
اگر قبلاً این کار را نکردهاید، یک سازمان Google Cloud راهاندازی کنید و پروژههای Firebase خود را به آن اضافه کنید.
بیش از یک مالک به پروژه های Firebase خود اضافه کنید، به خصوص اگر پروژه شما در یک سازمان Google Cloud نباشد . درباره زمان و نحوه اختصاص مالکان برای پروژه Firebase بیشتر بدانید.
اعضای پروژه (معروف به «اصول») را بهجای گروههای Google به صورت جداگانه اضافه کنید.
استفاده از گروهها، تخصیص نقشها را به صورت انبوه به اعضای تیم و همچنین مدیریت افرادی که به پروژه Firebase شما دسترسی دارند، آسانتر میکند، به خصوص اگر اعضای تیم چرخش یا ترک کنند.
به هر یک از اعضای پروژه (معروف به "اصل") سطح مناسب دسترسی به پروژه ها و منابع Firebase خود را بدهید. در مدیریت دسترسی به پروژه با Firebase IAM بیشتر بیاموزید.
مطمئن شوید که هر یک از اعضای پروژه قابل اجرا (معروف به "اصل") تنظیمات برگزیده خود را برای دریافت هشدارهای مربوط به محصولات خاص یا وضعیت پروژه (مانند تغییرات طرح صورتحساب یا محدودیت های سهمیه) تنظیم می کند. در دریافت هشدارهای Firebase بیشتر بیاموزید.
کلیدهای Firebase API خود را فقط به APIهایی محدود کنید که باید در لیست مجاز API کلید قرار گیرند. همچنین، اطلاعات مربوط به کلیدهای API را در چک لیست امنیتی Firebase بررسی کنید.
خدمات خاصی را که در برنامه خود استفاده می شود آماده کنید
هر محصول و خدماتی که در برنامه شما استفاده میشود ممکن است هنگام استفاده در تولید، ملاحظات خاصی داشته باشد.
Google Analytics
شرایط مخاطبین را برای Google Analytics تعریف کنید تا شروع به جمعآوری دادههای تحلیلی از شروع برنامه شما کند.
صادرات داده های Google Analytics را به BigQuery فعال کنید تا بتوانید داده های خود را با BigQuery SQL تجزیه و تحلیل کنید یا داده ها را برای استفاده با ابزارهای خود صادر کنید.
ویژگی های کاربر را به اطلاعاتی محدود کنید که برای چرخه عمر کل برنامه شما مرتبط است. تعداد محدودی وجود دارد که می توانید ایجاد کنید و آنها را نمی توان بایگانی کرد.
تنظیمات نقش های Google Analytics را برای ویژگی ها و حساب های Google Analytics خود مرور کنید. این مجوزها به طور جداگانه از مجوزها و نقش های پروژه Firebase IAM مدیریت می شوند.
مطمئن شوید شناسه App Store و Team ID شما (در صورت لزوم) در تنظیمات Project کنسول Firebase صحیح است.
App Check
مطمئن شوید که Team ID شما در تنظیمات Project کنسول Firebase صحیح است.
اگر قبلاً این کار را نکردهاید، اجرای Firebase App Check را برای هر سرویسی که از آن پشتیبانی میکند، شروع کنید. App Check کمک می کند مطمئن شوید که فقط برنامه های واقعی شما می توانند به خدمات و منابع پشتیبان شما دسترسی داشته باشند.
Authentication
ارائه دهندگانی را که استفاده نمی کنید (به خصوص احراز هویت ناشناس) را غیرفعال کنید.
اگر برنامه شما از ورود به سیستم با Google استفاده میکند، صفحه رضایت OAuth خود را شخصی کنید.
دامنه و فرستنده خود را برای سرویس ارسال ایمیل Authentication سفارشی کنید.
اگر از سرویسهای تأیید پیامک Identity Platform استفاده میکنید، اجرای Firebase App Check را شروع کنید و خطمشی منطقه پیامک را پیکربندی کنید تا از برنامه خود در برابر سوءاستفاده از پیامک محافظت کنید.
برای خطاهای رایج Authentication ، مدیریت خطا را در پلتفرم های اپل اجرا کنید.
یک هش انتشار SHA-1 برای گواهی امضای برنامه خود در تنظیمات پروژه کنسول Firebase اضافه کنید. اگر برنامه شما از ورود به سیستم با شماره تلفن یا ورود به سیستم با Google (که دارای نیاز مشتری OAuth است) استفاده میکند، هش SHA-1 لازم است.
برای جلوگیری از استفاده غیرمجاز، کنترل دسترسی را برای دامنه های خود اضافه کنید. به طور خاص، اجازه دسترسی به دامنه تولیدی خود را در بخش Authentication کنسول Firebase بدهید (به ویژه اگر از محصولاتی استفاده می کنید که به Firebase Security Rules متکی هستند).
Cloud Firestore
Cloud Firestore Security Rules خود را برای جلوگیری از دسترسی ناخواسته به داده ها پیکربندی کنید.
از ProGuard برای کوچک کردن کد در نسخه انتشار خود استفاده کنید. بدون ProGuard، Cloud Firestore SDK و وابستگی های آن می توانند اندازه APK شما را افزایش دهند.
Cloud Messaging
صادرات دادههای Cloud Messaging به BigQuery را فعال کنید تا بتوانید دادههای خود را با BigQuery SQL تجزیه و تحلیل کنید یا دادهها را برای استفاده با ابزارهای خود صادر کنید.
APNS Auth Key for Cloud Messaging را روی برنامههای Apple در کنسول Firebase آپلود کنید. اگر از گواهینامه های APNS استفاده می کنید، مطمئن شوید که گواهی APNS تولیدی شما آپلود شده است.
Cloud Storage
- Cloud Storage Security Rules خود را برای جلوگیری از دسترسی ناخواسته به داده ها پیکربندی کنید.
Crashlytics
مطمئن شوید که هر یک از اعضای پروژه قابل اجرا (معروف به "اصل") تنظیمات برگزیده خود را برای دریافت هشدارهای مربوط به Crashlytics یا وضعیت پروژه (مانند تغییرات طرح صورتحساب یا محدودیت های سهمیه) تنظیم می کند. در دریافت هشدارهای Firebase بیشتر بیاموزید.
صادرات دادههای Crashlytics به BigQuery را در نظر بگیرید تا بتوانید دادههای خود را با BigQuery SQL تجزیه و تحلیل کنید یا دادهها را برای استفاده با ابزارهای خود صادر کنید.
(فقط اندروید و iOS بومی) فعال کردن کمک هوش مصنوعی در Crashlytics را در نظر بگیرید تا به سرعت بخشیدن به زمان لازم برای درک دلیل وقوع خرابی کمک کند و در مورد آن چه کاری انجام دهید.
فایل dSYM را برای بیلدهای انتشار برای استفاده در Crashlytics آپلود کنید. مطمئن شوید که Xcode می تواند به طور خودکار dSYM ها را پردازش کرده و فایل ها را آپلود کند .
نقشه ProGuard را برای نسخههای منتشر شده برای استفاده در Crashlytics آپلود کنید. آپلود با استفاده از Firebase CLI امکان پذیر است.
Firebase را به Google Play پیوند دهید تا دید غنی تری از سلامت برنامه Android خود داشته باشید. به عنوان مثال، میتوانید گزارشهای خرابی برنامه خود را با استفاده از مسیر Google Play فیلتر کنید، که به شما امکان میدهد داشبورد خود را بهتر بر روی ساختهای خاص متمرکز کنید.
برای ساختهایی که اندروید را هدف قرار میدهند و از IL2CPP استفاده میکنند، مطمئن شوید که نمادهای بومی را برای هر بیلد اجرا شده آپلود میکنید که امیدوارید نمادهایی برای آنها داشته باشید، صرف نظر از اینکه آیا کد یا تغییراتی در پیکربندی وجود دارد یا خیر.
Dynamic Links
- Dynamic Links منسوخ شده است، بنابراین توصیه می کنیم سرویس را حذف کنید. در سؤالات متداول منسوخ شدن اطلاعات بیشتر بیاموزید.
Firebase ML
Performance Monitoring
مطمئن شوید که هر یک از اعضای پروژه قابل اجرا (معروف به "اصل") تنظیمات برگزیده خود را برای دریافت هشدارهای مربوط به Performance Monitoring یا وضعیت پروژه (مانند تغییرات طرح صورتحساب یا محدودیت های سهمیه) تنظیم می کند. در دریافت هشدارهای Firebase بیشتر بیاموزید.
صادرات دادههای Performance Monitoring را به BigQuery فعال کنید تا بتوانید دادههای خود را با BigQuery SQL تجزیه و تحلیل کنید یا دادهها را برای استفاده با ابزارهای خود صادر کنید.
Realtime Database
Realtime Database Security Rules خود را برای جلوگیری از دسترسی ناخواسته به داده ها پیکربندی کنید.
مطمئن شوید که برای مقیاس بندی آماده هستید. Realtime Database دارای یک سهمیه پیشفرض به اندازه کافی برای اکثر برنامهها است، اما برخی از برنامهها ممکن است به ظرفیت اضافی نیاز داشته باشند.
قوانین محافظتی خود را برای کار با Realtime Database پیکربندی کنید.
Remote Config
- اطمینان حاصل کنید که قوانین Remote Config آزمایشی بر کاربران نسخه شما تأثیر نمی گذارد و پیش فرض های سرور و درون برنامه مناسب در برنامه شما توزیع شده است.