عیب‌یابی کردن گزینه‌های راه‌اندازی

اگر برنامه خود را بدون مجموعه معتبری از گزینه‌های Firebase مقداردهی اولیه کنید، کاربران جدید برنامه شما با مشکلات جدی مواجه خواهند شد.

گزینه‌های Firebase مجموعه‌ای از پارامترهای موردنیاز سرویس‌ها برای برقراری ارتباط موفقیت‌آمیز با APIهای سرور Firebase و برای مرتبط کردن داده‌های مشتری با پروژه Firebase و برنامه Firebase شما است. خدمات Firebase به دردسترس بودن گزینه‌های Firebase معتبر از کتابخانه اصلی/مشترک Firebase که درطول مقداردهی اولیه Firebase ایجاد شده است متکی هستند.

خدمات مختلف Firebase برای عملکرد صحیح به گزینه‌های Firebase متفاوتی نیاز دارند، اما همه خدمات Firebase به گزینه‌های Firebase زیر نیاز دارند:

  • کلید API - توجه: این کلید کلید سرور FCM نیست، کلیدهای سرور FCM را ببینید.
    مقدار نمونه: AIzaSyDOCAbC123dEf456GhI789jKl012-MnO
  • شناسه پروژه - مقدار نمونه: myapp-project-123.
  • شناسه برنامه («AppID») - شناسه یکتای برنامه شما که قالب آن به پلاتفرم بستگی دارد:
    • برای Android: mobilesdk_app_id—توجه: این نام بسته Android نیست.
      مقدار نمونه: 1:1234567890:android:321abc456def7890
    • برای iOS+: GOOGLE_APP_ID—توجه: این شناسه بسته Apple نیست.
      مقدار نمونه: 1:1234567890:ios:321abc456def7890

عیب‌یابی کردن برنامه‌های Android

برای بهبود امنیت، به‌روزرسانی‌های «کیت توسعه نرم‌افزار Firebase» در ۲۷ فوریه و پس‌از آن سرویس «شناسه نمونه Firebase» را با وابستگی به Firebase Installations API جایگزین کرد.

‫Firebase نصب وجود و معتبر بودن کلید میانای برنامه‌سازی کاربردی، شناسه پروژه، و شناسه برنامه Firebase اجباری را برای مرتبط کردن داده‌های کارخواه با پروژه Firebase شما اعمال می‌کند. برای اطلاعات بیشتر، FirebaseOptions را ببینید.

«پیام‌رسانی ابریِ Firebase»‏ (FCM) با «شناسه نمونه Firebase»‏ (IID)

اگر کاربران جدید برنامه شما با FCM مشکل دارند، ممکن است Firebase را بدون مجموعه گزینه‌های Firebase موردنیاز راه‌اندازی کرده باشید.

برنامه شما ممکن است از فایل پیکربندی ناقص یا اشتباه google-services.json استفاده کند؛ یا برنامه شما Firebase را به‌صورت برنامه‌ریزی‌شده بدون مجموعه کامل گزینه‌های الزامی Firebase مقداردهی اولیه می‌کند.

درنتیجه، خدمات Firebase مثل «پیام‌رسانی ابریِ Firebase» برای کاربران نهایی که برنامه شما را پس‌از انتشار آن با «کیت‌های توسعه نرم‌افزار Firebase» به‌روزرسانی‌شده نصب کرده‌اند، درست کار نخواهد کرد. علاوه‌براین، درخواست‌های مکرر ناموفق به Firebase ممکن است تجربه کاربری برنامه شما را برای کاربر نهایی کند کند.

چه کاری باید انجام دهم؟

برای رفع عملکرد نادرست خدمات Firebase برای برنامه‌هایتان:

  1. برنامه‌تان را با مقداردهی اولیه Firebase با کلید API معتبر پروژه، «شناسه پروژه» معتبر، و «شناسه برنامه» معتبر (mobilesdk_app_id یا «شناسه برنامه») به‌روز کنید.
    • فرایند مقداردهی اولیه پیش‌فرض بااستفاده از فایل پیکربندی Firebase: فایل پیکربندی google-services.json را از کنسول Firebase بارگیری کنید، سپس فایل موجود در برنامه‌تان را جایگزین کنید.
    • راه‌اندازی برنامه‌ریزی‌شده بااستفاده از شیء FirebaseOptions: فایل پیکربندی google-services.json را از کنسول Firebase بارگیری کنید تا کلید API، شناسه پروژه، و شناسه برنامه را پیدا کنید، سپس این مقادیر را در شیء FirebaseOptions در برنامه‌تان به‌روز کنید.
  2. نسخه جدیدی از برنامه‌تان را در «فروشگاه Play» منتشر کنید.

عیب‌یابی برنامه‌های Apple

برای بهبود امنیت، به‌روزرسانی‌های «کیت توسعه نرم‌افزار Firebase» در ۱۴ ژانویه و پس‌از آن، سرویس «شناسه نمونه Firebase» را با وابستگی به Firebase Installations API جایگزین کرد.

‫Firebase نصب وجود و معتبر بودن کلید میانای برنامه‌سازی کاربردی، شناسه پروژه، و شناسه برنامه Firebase اجباری را برای مرتبط کردن داده‌های کارخواه با پروژه Firebase شما اعمال می‌کند. برای اطلاعات بیشتر، FIROptions را ببینید.

«پیام‌رسانی ابریِ Firebase»‏ (FCM) با «شناسه نمونه Firebase»‏ (IID)

اگر کاربران جدید برنامه شما با FCM مشکل دارند، ممکن است Firebase را بدون مجموعه گزینه‌های Firebase موردنیاز راه‌اندازی کرده باشید.

برنامه شما ممکن است از فایل پیکربندی GoogleService-Info.plist ناقص یا نامعتبری استفاده کند؛ یا برنامه شما Firebase را به‌صورت برنامه‌ریزی‌شده مقداردهی اولیه می‌کند بدون مجموعه کامل گزینه‌های موردنیاز Firebase.

درنتیجه، خدمات Firebase مثل Firebase Cloud Messaging برای کاربران نهایی که برنامه شما را پس‌از انتشار آن با کیت‌های توسعه نرم‌افزار Firebase به‌روزشده نصب کرده‌اند به‌درستی کار نخواهد کرد. علاوه‌براین، درخواست‌های مکرر ناموفق به Firebase ممکن است تجربه کاربر نهایی برنامه شما را کند کند.

چه کاری باید انجام دهم؟

برای رفع عملکرد نادرست خدمات Firebase برای برنامه‌هایتان:

  1. برنامه‌تان را با مقداردهی اولیه Firebase با کلید API معتبر پروژه، «شناسه پروژه» معتبر، و «شناسه برنامه» معتبر (GOOGLE_APP_ID یا «شناسه برنامه») به‌روز کنید.
    1. فرایند مقداردهی اولیه پیش‌فرض بااستفاده از فایل پیکربندی Firebase: فایل پیکربندی GoogleService-Info.plist را از کنسول Firebase بارگیری کنید، سپس فایل موجود در برنامه‌تان را جایگزین کنید.
    2. راه‌اندازی برنامه‌ریزی‌شده بااستفاده از شیء FIROptions: فایل پیکربندی GoogleService-Info.plist را از کنسول Firebase بارگیری کنید تا کلید API، شناسه پروژه، و شناسه برنامه خود را پیدا کنید، سپس این مقادیر را در شیء FIROptions در برنامه‌تان به‌روز کنید.
  2. نسخه جدیدی از برنامه‌تان را در App Store منتشر کنید.

کلیدهای سرور FCM

اگر برنامه‌تان از کلید سرور FCM به‌جای کلید Cloud API استفاده می‌کند، این امر می‌تواند درصورتی‌که از همان کلید سرور FCM برای ارسال اعلان‌های لحظه‌ای ازطریق FCM استفاده می‌کنید، باعث آسیب‌پذیری امنیتی شود. در این مورد، قویاً توصیه می‌کنیم نحوه احراز هویت سرور برای ارسال درخواست به FCM را اصلاح کنید.

توجه داشته باشید که FCM کلیدهای سرور (که با کلیدهای Firebase/Cloud API یکسان نیستند) نباید در برنامه‌ها گنجانده شوند، زیرا ممکن است از آن‌ها سوءاستفاده شود و اعلان‌های لحظه‌ای به نام پروژه شما ارسال شود.