بخش سرور Firebase Cloud Messaging از دو عنصر تشکیل شده است:
- FCM زیرینه ارائهشده توسط Google.
- کارساز برنامه یا دیگر محیط کارساز مطمئن که در آن منطق کارساز شما اجرا میشود، مثل Cloud Functions for 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 را ببینید.