سمت سرور Firebase Cloud Messaging از دو مؤلفه تشکیل شده است:
- FCM backend ارائهشده توسط 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 که از Node، Java، Python، C#، و Go پشتیبانی میکند.
FCM HTTP v1 API، یک REST API با مجوز امن و قابلیتهای پیامرسانی چندپلاتفرمی انعطافپذیر (Firebase Admin SDK براساس این پروتکل است و همه مزایای ذاتی آن را ارائه میدهد).
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 مراجعه کنید.