كيفيه استخراج Token لتوليد الاشعارات في firebase بعد التحديث الاخير
على مدار سنوات طويلة، كان مطورو تطبيقات الهواتف المحمولة والويب يعتمدون على Firebase Cloud Messaging (FCM) لإرسال الإشعارات الفورية إلى المستخدمين. وكانت الطريقة التقليدية تعتمد على ما يُعرف باسم Legacy API، حيث يتم إرسال الطلبات إلى الرابط:
ويتم استخدام Server Key في ترويسة (Header) الطلب بهذا الشكل
Authorization: key=YOUR_SERVER_KEY
لكن مع تطور خدمات Google Cloud وسياسة الأمان، أعلنت جوجل عن إيقاف دعم الـ Legacy API والتحوّل بالكامل إلى HTTP v1 API. هذا التغيير تطلّب أسلوباً مختلفاً للحصول على الصلاحيات وإرسال الإشعارات، وأصبح المطور مضطراً لاستخدام Access Token بدلًا من الـ Server Key التقليدي.
في هذا المقال سنشرح لماذا تم هذا التغيير، وكيف يمكنك إنشاء واستخدام التوكن الجديد خطوة بخطوة لإرسال إشعارات إلى تطبيقاتك باستخدام فايربيز.
لماذا ألغت جوجل Legacy API؟
هناك عدة أسباب دفعت جوجل لإيقاف النسخة القديمة من واجهة برمجة التطبيقات الخاصة بـ FCM، أبرزها:
تحسين الأمان:
استخدام Server Key كان غير آمن تمامًا لأنه مفتاح ثابت يمكن أن يتسرّب ويمنح أي شخص صلاحية إرسال إشعارات لجميع مستخدمي التطبيق. أما مع التوكن الجديد (OAuth 2.0 Access Token)، فإن الصلاحيات مؤقتة ويتم توليدها بشكل آمن عبر ملف الخدمة.
التوحيد مع نظام Google Cloud:
جوجل تحاول جعل كل الخدمات تعمل تحت نفس منظومة الصلاحيات (IAM + OAuth 2.0). وهذا يعني أن أي خدمة داخل Google Cloud الآن تتعامل بنفس الآلية.
التحكم الدقيق في الصلاحيات:
يمكن منح حسابات خدمة (Service Accounts) مختلفة صلاحيات محدودة مثل إرسال إشعارات فقط، أو إدارة الاشتراكات فقط، مما يعطي مرونة أكبر للمشاريع الكبيرة.
كيفيه استخراج FCM Key بالشكل الجديد من ال Firebase
ادخل إلى Firebase Console
اختر مشروعك
اذهب إلى: Project Settings → Service accounts
اضغط Generate new private key
سيتم تحميل ملف JSON يحتوي على بيانات الحساب، يشمل:
client_email
private_key
project_id
اذا لم تنجح يمكنك توليده من google cloud
الدخول الي Project Settings → Cloud Messaging → Manage Service Accounts
ثم انتقل الي AM ومنها من وجود فايربيز بداخلها واذا لم يكن موجود قم بتوليده
بعدها انتقل ال Service Accounts وافتح خانه الفايربيز الخاصه بك واذا لم تكن موجوده قم بعملها
ومنها انتقل الي خانه Key وبعدها قم بعمل وقم بعمل key جديد لك وبعدها قم بتحميله
إلغاء **Legacy API** والتحول إلى **HTTP v1 API** خطوة منطقية من جوجل لجعل بيئة Firebase أكثر أماناً واندماجاً مع نظام Google Cloud.
صحيح أن الطريقة الجديدة تبدو معقدة في البداية، لكنها توفر:
- - أمان أكبر.
- - صلاحيات دقيقة.
- - مرونة في التحكم.
وبالتالي، استخراج **Access Token** لم يعد اختيارياً، بل أصبح الطريق الوحيد للتعامل مع FCM في المشاريع الحديثة.
إذا كنت مطورًا لتطبيقات Flutter أو Android أو iOS، فاعلم أن دورك يقتصر على استقبال الإشعارات فقط، أما عملية توليد التوكن وإرسال الرسائل فهي مسؤولية **الباك إند** الذي يدير الصلاحيات بأمان
.webp)




