نمای کلی معماری FCM

‫FCM به مجموعه زیر از عناصر که پیام‌ها را می‌سازند، منتقل می‌کنند، و دریافت می‌کنند متکی است:

  1. ابزار برای نوشتن یا ساختن درخواست‌های پیام. «ترکیب‌کننده اعلان‌ها» گزینه‌ای مبتنی بر «میانای گرافیکی کاربر» برای ایجاد درخواست‌های اعلان ارائه می‌دهد. برای خودکارسازی کامل و پشتیبانی از همه انواع پیام، باید درخواست‌های پیام را در محیط سرور مورد اعتمادی بسازید که از Firebase Admin SDK یا پروتکل سرور FCM پشتیبانی می‌کند. این محیط می‌تواند «توابع ابری ویژه Firebase»،‏ App Engine، یا سرور برنامه خودتان باشد.

    نموداری از سه لایه معماری که در این صفحه توضیح داده شده است.

  2. بخش پشتی FCM که (در میان سایر عملکردها) درخواست‌های پیام را می‌پذیرد، پیام‌ها را ازطریق موضوعات توزیع می‌کند، و فراداده‌های پیام مانند شناسه پیام را تولید می‌کند.

  3. لایه انتقال در سطح پلاتفرم که پیام را به دستگاه هدف هدایت می‌کند، ارسال پیام را مدیریت می‌کند، و درصورت لزوم پیکربندی مختص پلاتفرم را اعمال می‌کند. این لایه انتقال شامل موارد زیر است:

    • لایه انتقال Android (ATL) برای دستگاه‌های Android دارای «خدمات Google Play»
    • سرویس اعلان لحظه‌ای Apple‏ (APNs) برای دستگاه‌های Apple
    • پروتکل اعلان لحظه‌ای وب برای برنامه‌های وب

  4. کیت توسعه نرم‌افزار FCM در دستگاه کاربر، جایی که اعلان نمایش داده می‌شود یا پیام براساس وضعیت پیش‌زمینه/پس‌زمینه برنامه و هر منطق برنامه مربوطه مدیریت می‌شود.

جریان چرخه حیات

  • دستگاه‌ها را برای دریافت پیام از FCM ثبت کنید. یک نمونه از برنامه مشتری برای دریافت پیام ثبت می‌شود و یک کد ثبت دریافت می‌کند که به‌طور منحصربه‌فرد نمونه برنامه را شناسایی می‌کند.
  • ارسال و دریافت پیام‌های جاری‌سازی.
    • پیامی ارسال کنید. سرور برنامه پیام‌ها را به برنامه کارخواه ارسال می‌کند:
      1. پیام در «سازنده اعلان‌ها» یا محیطی مطمئن ساخته می‌شود و درخواست پیام به پسای FCM ارسال می‌شود.
      2. بخش پشتی FCM درخواست پیام را دریافت می‌کند، شناسه پیام و فراداده‌های دیگر را تولید می‌کند، و آن را به لایه انتقال مختص پلاتفرم ارسال می‌کند.
      3. وقتی دستگاه آنلاین باشد، پیام ازطریق لایه انتقال مختص پلاتفرم به دستگاه ارسال می‌شود.
      4. در دستگاه، برنامه کارخواه پیام یا اعلان را دریافت می‌کند.