سمت سرور Firebase Cloud Messaging از دو جزء تشکیل شده است:
- بکاند FCM توسط گوگل ارائه میشود.
- سرور برنامه شما یا سایر محیطهای سرور مورد اعتماد که منطق سرور شما در آن اجرا میشود، مانند توابع ابری برای Firebase یا سایر محیطهای ابری مدیریت شده توسط گوگل.
سرور برنامه یا محیط سرور مورد اعتماد شما درخواستهای پیام را به بکاند FCM ارسال میکند، که سپس پیامها را به برنامههای کلاینت که روی دستگاههای کاربران اجرا میشوند، هدایت میکند.
با استفاده از پروتکلهای Firebase Admin SDK یا FCM app server، میتوانید درخواستهای پیام ایجاد کرده و آنها را به این نوع اهداف ارسال کنید:
- نام موضوع
- وضعیت
- توکن ثبت دستگاه
- نام گروه دستگاه (فقط پروتکل)
شما میتوانید پیامهایی با محتوای اعلان متشکل از فیلدهای از پیش تعریفشده، محتوای داده متشکل از فیلدهای تعریفشده توسط کاربر یا پیامی حاوی هر دو نوع محتوای پیام ارسال کنید. برای اطلاعات بیشتر به انواع پیام مراجعه کنید.
الزامات محیط سرور قابل اعتماد
محیط سرور برنامه شما باید معیارهای زیر را داشته باشد:
- قادر به ارسال درخواستهای پیام با قالببندی صحیح به بکاند FCM .
- قادر به مدیریت درخواستها و ارسال مجدد آنها با استفاده از back-off نمایی.
- قادر به ذخیره ایمن اعتبارنامههای مجوز سرور و توکنهای ثبت نام کلاینت.
مدارک مورد نیاز برای پروژه Firebase
بسته به اینکه کدام ویژگیهای FCM را پیادهسازی میکنید، ممکن است به اعتبارنامههای زیر از پروژه Firebase خود نیاز داشته باشید:
اعتبارنامه | توضیحات |
---|---|
شناسه پروژه | یک شناسه منحصر به فرد برای پروژه Firebase شما، که در درخواستها به نقطه پایانی FCM v1 HTTP استفاده میشود. این مقدار در پنل تنظیمات کنسول Firebase موجود است. |
توکن ثبت نام | یک رشته توکن منحصر به فرد که هر نمونه برنامه کلاینت را مشخص میکند. توکن ثبت نام برای پیام رسانی تک دستگاهی و گروهی از دستگاهها مورد نیاز است. توجه داشته باشید که توکنهای ثبت نام باید مخفی نگه داشته شوند. |
شناسه فرستنده | یک مقدار عددی منحصر به فرد که هنگام ایجاد پروژه Firebase خود ایجاد میکنید، در تب Cloud Messaging در پنل تنظیمات کنسول Firebase موجود است. شناسه فرستنده همان شماره پروژه است. شناسه فرستنده برای شناسایی هر فرستندهای که میتواند به برنامه کلاینت پیام ارسال کند، استفاده میشود. |
توکن دسترسی | یک توکن OAuth 2.0 کوتاهمدت که درخواستها به HTTP v1 API را مجاز میکند. این توکن با یک حساب کاربری سرویس که متعلق به پروژه Firebase شماست مرتبط است. برای ایجاد و چرخش توکنهای دسترسی، مراحل شرح داده شده در Authorize Send Requests را دنبال کنید. |
یک گزینه سرور را انتخاب کنید
شما باید در مورد روشی برای تعامل با سرورهای FCM تصمیم بگیرید: یا با استفاده از Firebase Admin SDK یا FCM HTTP v1 API . به دلیل پشتیبانی از زبانهای برنامهنویسی محبوب و روشهای راحت آن برای مدیریت احراز هویت و مجوز، Firebase Admin SDK روش پیشنهادی است.
گزینههای تعامل با سرورهای FCM شامل موارد زیر است:
Firebase Admin SDK ) که از زبانهای برنامهنویسی Node ، Java ، Python ، C# و Go پشتیبانی میکند.
رابط برنامهنویسی کاربردی FCM HTTP نسخه ۱ ، یک رابط برنامهنویسی کاربردی REST با احراز هویت امن و قابلیتهای پیامرسانی انعطافپذیر بین پلتفرمی ( Firebase Admin SDK مبتنی بر این پروتکل است و تمام مزایای ذاتی آن را ارائه میدهد).
Firebase Admin SDK
کیت Firebase Admin SDK احراز هویت را با بکاند مدیریت میکند و ارسال پیامها و مدیریت اشتراکهای موضوعی را تسهیل میکند. با Firebase Admin SDK ، میتوانید:
- ارسال پیام به دستگاههای مختلف
- ارسال پیام به موضوعات و عبارات شرطی که با یک یا چند موضوع مطابقت دارند
- ارسال پیام به گروههای دستگاه
- اشتراک و لغو اشتراک دستگاهها در موضوعات و از آنها
- ساخت پیامهای حجیم متناسب با پلتفرمهای هدف مختلف
برای راهاندازی Firebase Admin SDK ، به بخش «افزودن Firebase Admin SDK به سرور خود» مراجعه کنید. اگر از قبل یک پروژه Firebase دارید، با «افزودن SDK» شروع کنید. همچنین، مطمئن شوید که Firebase Cloud Messaging API (V1) را در صفحه تنظیمات Cloud Messaging برای پروژه خود فعال کردهاید. سپس، پس از نصب Firebase Admin SDK ، میتوانید شروع به نوشتن منطق برای ساخت درخواستهای ارسال کنید .
رابط برنامهنویسی کاربردی FCM HTTP نسخه ۱
FCM رابط برنامهنویسی کاربردی FCM HTTP نسخه ۱ را برای توسعهدهندگانی که پروتکل خام سرور را ترجیح میدهند، فراهم میکند.
برای ارسال پیام، سرور برنامه یک درخواست POST با یک هدر HTTP و یک بدنه HTTP متشکل از جفتهای کلید-مقدار JSON ارسال میکند. برای جزئیات بیشتر در مورد گزینههای هدر و بدنه، به بخش ارسال پیام با استفاده از FCM HTTP v1 API مراجعه کنید.