محیط سرور و FCM

بخش سرور Firebase Cloud Messaging از دو عنصر تشکیل شده است:

  • FCM زیرینه ارائه‌شده توسط Google.
  • سرور برنامه شما یا محیط سرور مورداعتماد دیگری که منطق سرور شما در آن اجرا می‌شود، مانند توابع ابری ویژه Firebase یا سایر محیط‌های ابری مدیریت‌شده توسط Google.

سرور برنامه یا محیط سرور مطمئن شما درخواست‌های پیام را به FCM ارسال می‌کند، که سپس پیام‌ها را به برنامه‌های کارخواه درحال اجرا در دستگاه‌های کاربران هدایت می‌کند.

بااستفاده از پروتکل‌های سرور برنامه Firebase Admin SDK یا FCM، می‌توانید درخواست‌های پیام را بسازید و آن‌ها را به این نوع هدف‌ها ارسال کنید:

  • نام موضوع
  • وضعیت
  • کد ثبت FCM
  • نام گروه دستگاه (منسوخ شده است، در ۲۹ سپتامبر ۲۰۲۷ برداشته خواهد شد)

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

الزامات محیط سرور مطمئن

محیط سرور برنامه شما باید معیارهای زیر را داشته باشد:

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

اعتبارنامه‌های لازم برای پروژه Firebase

بسته به اینکه کدام ویژگی‌های FCM را پیاده‌سازی می‌کنید، ممکن است به اعتبارنامه‌های زیر از پروژه Firebase خود نیاز داشته باشید:

اطلاعات کاربری شرح
شناسه پروژه شناسه یکتایی برای پروژه Firebase شما که در درخواست‌ها به نقطه پایانی HTTP نسخه ۱ FCM استفاده می‌شود. این مقدار در قاب Firebase کنسول تنظیمات دردسترس است.
کد ثبت رشته کد یکتایی که هر نمونه برنامه کارخواه را شناسایی می‌کند. نشان ثبت برای پیام‌رسانی گروهی دستگاه و نمونه برنامه تکی لازم است. توجه داشته باشید که نشان‌های ثبت باید محرمانه نگه داشته شوند.
شناسه فرستنده مقدار عددی یکتایی که هنگام ایجاد پروژه Firebase ایجاد می‌شود و در برگه Cloud Messaging در قاب تنظیمات کنسول Firebase دردسترس است. شناسه فرستنده همان شماره پروژه است. از شناسه فرستنده برای شناسایی هر فرستنده‌ای که می‌تواند به برنامه کارخواه پیام ارسال کند استفاده می‌شود.
کد دسترسی یک کد OAuth 2.0 کوتاه‌مدت که درخواست‌ها را برای HTTP v1 API مجاز می‌کند. این توکن با حساب سرویسی مرتبط است که به پروژه Firebase شما تعلق دارد. برای ایجاد و چرخاندن کد دسترسی، مراحل شرح‌داده‌شده در مجاز کردن درخواست‌های ارسال را دنبال کنید.

انتخاب گزینه سرور

باید روشی برای تعامل با سرورهای FCM انتخاب کنید: یا بااستفاده از Firebase Admin SDK یا FCM HTTP v1 API. به‌دلیل پشتیبانی از زبان‌های برنامه‌نویسی محبوب و روش‌های راحت آن برای مدیریت اصالت‌سنجی و مجوزدهی، Firebase Admin SDK روش توصیه‌شده است.

گزینه‌های تعامل با سرورهای FCM شامل موارد زیر است:

Firebase Admin SDK

‫Firebase Admin SDK اصالت‌سنجی با زیرینه را انجام می‌دهد و ارسال پیام‌ها و مدیریت اشتراک‌های موضوعی را تسهیل می‌کند. با Firebase Admin SDK، می‌توانید:

  • ارسال پیام به نمونه‌های مجزای برنامه
  • ارسال پیام به موضوعات و عبارت‌های شرطی که با یک یا چند موضوع مطابقت دارند
  • ارسال پیام به گروه‌های دستگاه
  • مشترک شدن و لغو اشتراک نمونه‌های برنامه در موضوعات
  • ساختن محموله‌های پیام سفارشی‌شده برای پلاتفرم‌های هدف مختلف

برای راه‌اندازی Firebase Admin SDK، به افزودن Firebase Admin SDK به سرور مراجعه کنید. اگر ازقبل پروژه Firebase دارید، با افزودن کیت توسعه نرم‌افزار شروع کنید. همچنین، مطمئن شوید که Firebase Cloud Messaging API (V1) را در صفحه تنظیمات Cloud Messaging برای پروژه خود فعال کرده باشید. سپس، پس‌از نصب Firebase Admin SDK، می‌توانید نوشتن منطق برای ساختن درخواست‌های ارسال را شروع کنید.

FCM HTTP v1 API

FCM FCM HTTP v1 API را برای توسعه‌دهندگانی که پروتکل سرور خام را ترجیح می‌دهند ارائه می‌کند.

برای ارسال پیام، سرور برنامه یک درخواست POST با سرایند HTTP و بدنه HTTP متشکل از جفت‌های کلید-مقدار JSON صادر می‌کند. برای جزئیات مربوط به گزینه‌های سرصفحه و بدنه، به ارسال پیام بااستفاده از FCM HTTP v1 API مراجعه کنید.