Firebase Cloud Messaging: یہ کیا ہے، کام کا اصول اور پش نوٹیفیکیشنز

مصنف: IT Sectr اشاعت: 2026-04-29 مطالعے کا وقت: 9 منٹ

Firebase Cloud Messaging (FCM) Google کی ایک کراس پلیٹ فارم پش نوٹیفیکیشن اور پیغام رسانی کی خدمت ہے، جو موبائل اور ویب ایپلیکیشنز کے لیے ڈیزائن کی گئی ہے۔ FCM سرور اور کلائنٹ آلات کے درمیان مستقل نیٹ ورک کنکشن برقرار رکھے بغیر قابل بھروسہ ڈیٹا منتقلی کو یقینی بناتا ہے۔ Firebase Documentation, 2026 کے مطابق، FCM انفراسٹرکچر کے ذریعے دنیا بھر میں روزانہ 300 بلین سے زیادہ پیغامات گزرتے ہیں۔ یہ خدمت خودکار نمائش والے نوٹیفیکیشنز اور پس منظر میں ڈیٹا کی منتقلی کے لیے data پیغامات دونوں کو سپورٹ کرتی ہے۔

اہم نکات

  • FCM — Google کی مفت پش نوٹیفیکیشن سروس جو متحد API اور Firebase Console کے ذریعے Android، iOS اور Web کو سپورٹ کرتی ہے۔
  • پیغامات کی اقسام — notification پیغامات سسٹم کے ذریعے خودکار طور پر دکھائے جاتے ہیں، data پیغامات صوابدیدی JSON بھیجنے اور ایپلیکیشن میں اس پر کارروائی کرنے کی اجازت دیتے ہیں۔
  • آلات کے ٹوکن — ہر ایپلیکیشن کو ایک منفرد Registration Token ملتا ہے جسے سرور ہدف بند پش نوٹیفیکیشن بھیجنے کے لیے استعمال کرتا ہے۔
  • ترسیل کی ترجیحات — normal اور high ترجیحات بجلی کی بچت کے دوران سسٹم کے رویے کا تعین کرتی ہیں: high پیغامات Doze موڈ سے آلہ جگا دیتے ہیں۔
  • موضوعات اور گروپ — FCM اجتماعی بھیجائی کے لیے موضوع کی رکنیت اور ایک صارف کے متعدد آلات پر بھیجنے کے لیے Device Groups کو سپورٹ کرتا ہے۔

Firebase Cloud Messaging کیا ہے

Firebase Cloud Messaging Google کی ایک کلاؤڈ سروس ہے جو ایپلیکیشن سرور اور کلائنٹ آلات کے درمیان پش نوٹیفیکیشنز اور data پیغامات کی ترسیل کو یقینی بناتی ہے۔ اس سروس نے پرانی Google Cloud Messaging (GCM) کی جگہ لی اور Firebase ماحولیاتی نظام میں پش ترسیل کے لیے معیاری حل بن گئی۔ FCM Android، iOS، Web اور Unity کو سپورٹ کرتی ہے، ہدف پلیٹ فارم سے آزاد ایک متحد بھیجائی انٹرفیس فراہم کرتی ہے۔

FCM کی کلیدی صلاحیتیں

یہ سروس پیغام کی ترسیل کے کئی طریقہ کار فراہم کرتی ہے، ہر ایک مخصوص کام حل کرتا ہے۔ Notification پیغامات وصول ہونے پر سسٹم کے ذریعے خودکار طور پر دکھائے جاتے ہیں — ڈویلپر کو نوٹیفیکیشن دکھانے کے لیے کوڈ لکھنے کی ضرورت نہیں۔ Data پیغامات کلید-قدر جوڑوں کے طور پر صوابدیدی پے لوڈ منتقل کرتے ہیں اور ایپلیکیشن کے اندر کارروائی کی جاتی ہے۔ مشترکہ پیغامات میں زیادہ سے زیادہ لچک کے لیے نظر آنے والے اور پوشیدہ حصے ہوتے ہیں۔

اپنے حل کے مقابلے میں فوائد

اپنا پش سرور نافذ کرنے کے لیے ہر آلے کے ساتھ مستقل TCP کنکشن برقرار رکھنا ضروری ہے، جو غیر موثر اور غیر محفوظ ہے۔ FCM Google کے متحد انفراسٹرکچر کا استعمال کرتی ہے جو ایک ساتھ اربوں آلات کے ساتھ کنکشن برقرار رکھتا ہے۔ یہ سروس خودکار طور پر ترسیل کی دوبارہ کوششوں، پیغام کی قطاروں اور لوڈ بیلنسنگ کا انتظام کرتی ہے، ڈویلپر کو ان کاموں کو خود حل کرنے کی ضرورت سے آزاد کرتی ہے۔

Firebase Cloud Messaging کیسے کام کرتا ہے

FCM فن تعمیر تین اہم اجزاء پر مشتمل ہے: فراہم کنندہ سرور (آپ کا بیک اینڈ)، Firebase Cloud Messaging سرور اور آلے پر کلائنٹ ایپلیکیشن۔ جب سرور پیغام بھیجتا ہے، تو یہ پہلے FCM انفراسٹرکچر تک پہنچتا ہے، جو اسے ہدف آلے پر روٹ کرتا ہے۔ اگر آلہ آف لائن ہے، تو FCM پیغام کو ایک قطار میں ذخیرہ کرتا ہے اور کنکشن بحال ہونے پر پہنچاتا ہے۔

آلہ رجسٹریشن اور ٹوکن حصول

پہلی بار لانچ کرنے پر، ایپلیکیشن Firebase SDK کو کال کرتی ہے، جو FCM سروس میں آلہ رجسٹر کرتی ہے اور ایک منفرد Registration Token حاصل کرتی ہے۔ یہ ٹوکن تقریباً 150 حروف کی ایک سٹرنگ ہے اور ایک مخصوص آلے پر ایپلیکیشن کی مخصوص مثال کی شناخت کرتی ہے۔ ایپلیکیشن دوبارہ انسٹال کرنے، ڈیٹا صاف کرنے یا بیک اپ سے بحال کرنے پر ٹوکن تبدیل ہو سکتا ہے — ڈویلپر کو onNewToken ڈیلیگیٹ کے ذریعے ٹوکن اپ ڈیٹ کو ہینڈل کرنا چاہیے۔

پیغام کی زندگی کا دور

جب سرور FCM API کے ذریعے درخواست بھیجتا ہے، تو پیغام کئی مراحل سے گزرتا ہے۔ وصول اور توثیق — FCM درخواست کی درستگی اور ہدف آلے کی موجودگی کی جانچ کرتا ہے۔ قطار — اگر آلہ دستیاب نہیں ہے، تو پیغام اسٹوریج قطار میں داخل ہوتا ہے۔ روٹنگ — FCM بہترین ترسیل کا چینل (WiFi یا موبائل ڈیٹا) طے کرتا ہے۔ ترسیل — سسٹم پیغام کو ہدف ایپلیکیشن تک پہنچاتا ہے۔ کامیاب ترسیل کے بعد، FCM سرور کو پیغام کی شناخت واپس کرتا ہے۔

FCM میں پیغامات کی اقسام

Firebase Cloud Messaging تین اقسام کے پیغامات کو سپورٹ کرتی ہے، ہر ایک کے کلائنٹ سائیڈ پر اپنی کارروائی کی خصوصیات ہیں۔ Notification پیغامات Android میں Google Play Services اور iOS میں APNs کے ذریعے کارروائی کی جاتی ہے اور خودکار طور پر پش بینرز کے طور پر دکھائے جاتے ہیں۔ Data پیغامات براہ راست ایپلیکیشن کو پہنچائے جاتے ہیں اور Android میں onMessageReceived کال بیک اور iOS میں application(_:didReceiveRemoteNotification:) کے ذریعے کارروائی کی جاتی ہے۔

Notification پیغامات

Notification پیغام میں پہلے سے طے شدہ فیلڈز ہوتے ہیں: عنوان، باڈی، تصویری URL اور نوٹیفیکیشن آواز۔ سسٹم خودکار طور پر نوٹیفیکیشن بنا کر سسٹم ٹرے میں دکھاتا ہے، چاہے ایپلیکیشن پس منظر میں ہو یا بند ہو۔ صارف عنوان اور متن کے ساتھ ایک معیاری بینر دیکھتا ہے، اور ٹیپ کرنے پر ایپلیکیشن پے لوڈ میں بھیجے گئے ڈیٹا کے ساتھ کھلتی ہے۔ اگر ایپلیکیشن فعال ہے، تو notification پیغام کو روکا جا سکتا ہے اور کوڈ میں کارروائی کی جا سکتی ہے۔

Data پیغامات

Data پیغام پہلے سے طے شدہ فیلڈز کے بغیر کلید-قدر جوڑوں کا ایک حسب ضرورت مجموعہ ہے۔ پے لوڈ سسٹم کے ذریعے خودکار طور پر کارروائی نہیں کی جاتی — ایپلیکیشن خام ڈیٹا حاصل کرتی ہے اور اسے صوابدیدی طریقے سے تشریح کر سکتی ہے۔ Data پیغامات پس منظر میں ڈیٹا سنکرونائزیشن، مقامی کیش اپ ڈیٹ، سنک ٹرگر یا نوٹیفیکیشن دکھائے بغیر کمانڈ بھیجنے کے لیے استعمال ہوتے ہیں۔ Android میں، data پیغام ہمیشہ پہنچایا جاتا ہے، چاہے ایپلیکیشن بند ہو یا پس منظر میں ہو۔

مشترکہ پیغامات

FCM ایک پیغام بھیجنے کی اجازت دیتی ہے جس میں notification حصہ (نمائش کے لیے) اور data حصہ (کارروائی کے لیے) دونوں شامل ہوں۔ مشترکہ پے لوڈ میں پہلے سے طے شدہ notification فیلڈز اور صوابدیدی data کلید دونوں شامل ہوتے ہیں۔ سسٹم notification حصے سے نوٹیفیکیشن دکھاتا ہے، جبکہ data حصہ کھولنے پر ایپلیکیشن کے intent extras میں منتقل ہوتا ہے۔ یہ ان منظرناموں کے لیے مفید ہے جہاں آپ کو صارف کو نوٹیفیکیشن دکھانا ہے اور ساتھ ہی کسی مخصوص اسکرین پر جانے کے لیے سیاق و سباق منتقل کرنا ہے۔

قسمخودکار نمائشپس منظر میں کارروائیمثال
Notificationہاں، سسٹم کے ذریعےخودکار، بغیر کوڈ کےخوش آمدید پش نوٹیفیکیشن
Dataنہیںایپلیکیشن کال بیک کے ذریعےپس منظر میں ڈیٹا سنک
مشترکہہاں، notification حصہکھولنے پر data حصہنوٹیفیکیشن + آرڈر لنک

Android میں FCM سیٹ اپ

Android میں FCM انضمام ایپلیکیشن سطح پر build.gradle فائل کے ذریعے Firebase SDK کو جوڑنے سے شروع ہوتا ہے۔ انحصار اور google-services.json فائل شامل کرنے کے بعد، ایپلیکیشن خودکار طور پر Registration Token حاصل کرتی ہے، جو FirebaseMessagingService کال بیک کے ذریعے منتقل ہوتا ہے۔ نوٹیفیکیشنز وصول کرنے کے لیے، FirebaseMessagingService کو بڑھانے والی سروس بنانا اور اسے AndroidManifest.xml میں رجسٹر کرنا ضروری ہے۔

ابتداء اور ٹوکن حصول

Firebase SDK جوڑنے کے بعد، آلہ کا ٹوکن اضافی کوڈ کے بغیر خودکار طور پر پیدا ہوتا ہے۔ ٹوکن دستیاب ہے FirebaseMessaging.getInstance().token کے ذریعے، جو Task<String> لوٹاتا ہے۔ ٹوکن اپ ڈیٹس کو ٹریک کرنے کے لیے، سروس میں onNewToken طریقہ کو اوور رائیڈ کیا جاتا ہے۔ ٹوکن فراہم کنندہ سرور کو بھیجنا ضروری ہے تاکہ سرور اس آلے پر پش نوٹیفیکیشن بھیج سکے۔

kotlin
class MyFirebaseMessagingService :
    FirebaseMessagingService() {

    override fun onNewToken(token: String) {
        sendTokenToServer(token)
    }

    override fun onMessageReceived(
        message: RemoteMessage
    ) {
        val data = message.data
        val title = "نیا پیغام"
        val body = data["body"] ?: ""
        showNotification(title, body)
    }
}

مینی فیسٹ میں سروس رجسٹریشن

FCM پیغامات وصول کرنے کے لیے سروس کو مناسب intent-filter کے ساتھ AndroidManifest.xml میں رجسٹر ہونا چاہیے۔ INTERNET اجازت اور مخصوص ایکشن کے ساتھ service ٹیگ شامل کریں۔ سروس رجسٹریشن کے بغیر، پیغامات پس منظر میں ایپلیکیشن کو نہیں پہنچائے جائیں گے۔ Android 13+ میں نوٹیفیکیشن دکھانے کے لیے رن ٹائم اجازت POST_NOTIFICATIONS ضروری ہے۔

xml
<!-- AndroidManifest.xml -->
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name=
    "android.permission.POST_NOTIFICATIONS" />

<service
    android:name=".MyFirebaseMessagingService"
    android:exported="false">
    <intent-filter>
        <action android:name=
            "com.google.firebase.MESSAGING_EVENT" />
    </intent-filter>
</service>

iOS میں FCM سیٹ اپ

iOS میں FCM انضمام Apple Push Notification Service (APNs) کی طرف اور Firebase Console دونوں میں ترتیب کی ضرورت ہے۔ Android کے برعکس، جہاں FCM براہ راست کنکشن کا انتظام کرتا ہے، iOS میں FCM APNs کو نقل و حمل کی پرت کے طور پر استعمال کرتا ہے۔ ایپلیکیشن UIApplication.shared.registerForRemoteNotifications کے ذریعے پش نوٹیفیکیشنز کے لیے رجسٹر ہوتی ہے، اور Firebase SDK موصولہ آلہ ٹوکن کو روک کر FCM Registration Token سے منسلک کرتا ہے۔

APNs سیٹ اپ اور نوٹیفیکیشن رجسٹریشن

iOS پر FCM کام کرنے کے لیے، Firebase Console میں APNs کلید یا سرٹیفکیٹ اپ لوڈ کرنا ضروری ہے۔ APNs کلید سرٹیفکیٹ کے بغیر جدید تصدیق کا طریقہ ہے (Apple کی طرف سے تجویز کردہ)۔ کلید Apple Developer Portal میں Keys سیکشن میں بنائی جاتی ہے اور Firebase Console میں Cloud Messaging کی ترتیبات میں اپ لوڈ کی جاتی ہے۔ APNs ترتیب کے بعد، ایپلیکیشن UNUserNotificationCenter کے ذریعے نوٹیفیکیشن کی اجازت درخواست کرتی ہے اور APNs کے ذریعے رجسٹر ہوتی ہے۔

swift
import Firebase
import UserNotifications

class AppDelegate: NSObject, UIApplicationDelegate {

    func application(
        _ application: UIApplication,
        didFinishLaunchingWithOptions
        launchOptions: [UIApplication.LaunchOptionsKey: Any]?
    ) -> Bool {
        FirebaseApp.configure()
        UNUserNotificationCenter.current()
            .requestAuthorization(options: [.alert, .sound, .badge])
        application.registerForRemoteNotifications()
        return true
    }

    func application(
        _ application: UIApplication,
        didRegisterForRemoteNotificationsWithDeviceToken
        deviceToken: Data
    ) {
        Messaging.messaging()
            .apnsToken = deviceToken
    }
}

آنے والے نوٹیفیکیشنز کو ہینڈل کرنا

موصولہ نوٹیفیکیشنز کو ہینڈل کرنے کے لیے، UNUserNotificationCenter ڈیلیگیٹ لاگو کیا جاتا ہے۔ willPresent طریقہ اس وقت کال ہوتا ہے جب ایپلیکیشن فعال ہونے پر نوٹیفیکیشن موصول ہو — یہاں آپ حسب ضرورت in-app نوٹیفیکیشن دکھا سکتے ہیں یا سسٹم بینر کو نظر انداز کر سکتے ہیں۔ didReceive طریقہ اس وقت کال ہوتا ہے جب صارف نوٹیفیکیشن پر ٹیپ کرتا ہے — یہاں متعلقہ اسکرین پر جایا جاتا ہے۔ Data پیغامات کے لیے MessagingDelegate استعمال کیا جاتا ہے، جو پس منظر میں FCM پیغام موصول ہونے پر پے لوڈ حاصل کرتا ہے۔

سرور سے پیغامات بھیجنا

سرور سائیڈ بھیجائی FCM پیغامات کی Firebase Cloud Messaging کے HTTP v1 API یا پرانے Firebase Cloud Messaging API کے ذریعے انجام دی جاتی ہے۔ HTTP v1 API تجویز کردہ طریقہ ہے، Service Account کے ذریعے OAuth 2.0 تصدیق استعمال کرتا ہے اور ترسیل کے تجزیہ اور نوٹیفیکیشنز کی A/B جانچ سمیت تمام جدید FCM صلاحیتوں کو سپورٹ کرتا ہے۔ درخواست POST طریقہ سے endpoint https://fcm.googleapis.com/v1/projects/{project_id}/messages:send پر بھیجی جاتی ہے۔

HTTP v1 درخواست کا فارمیٹ

درخواست کے باڈی میں پیغام کی معلومات کے ساتھ JSON آبجیکٹ ہوتا ہے: target (ٹوکن، موضوع یا شرط)، notification (نمائش کے لیے) اور data (حسب ضرورت پے لوڈ)۔ تصدیق Service Account JSON کلید کے ذریعے ہوتی ہے جو سرور کے ماحولی متغیرات میں لوڈ ہوتی ہے۔ رسائی ٹوکن google-auth-library کے ذریعے پیدا ہوتا ہے۔ Google خودکار تصدیق کے انتظام اور دوبارہ کوششوں کے لیے Firebase Admin SDK استعمال کرنے کی سفارش کرتا ہے۔

js
const admin = require("firebase-admin")

const serviceAccount = require("./serviceAccountKey.json")

admin.initializeApp({ credential: admin.credential.cert(serviceAccount) })

const message = {
    token: "device_registration_token",
    notification: { title: "20% چھوٹ", body: "آج تمام خدمات پر" },
    data: { screen: "promo", promoId: "324" },
    android: { priority: "high" },
    apns: { payload: { aps: { sound: "default" } } }
}

admin.messaging().send(message)
    .then(response => {
        console.log("کامیابی سے بھیجا گیا:", response)
    })
    .catch(error => {
        console.log("بھیجنے میں خرابی:", error)
    })

موضوعات اور اجتماعی بھیجائی

صارفین کے گروپ کو نوٹیفیکیشن بھیجنے کے لیے، FCM موضوع کی رکنیت کو سپورٹ کرتا ہے۔ موضوع (topic) ایک نامی چینل ہے جس کی کلائنٹ ایپلیکیشن FirebaseMessaging.getInstance().subscribeToTopic() کے ذریعے رکنیت لیتی ہے۔ سرور کسی موضوع پر پیغام بھیج سکتا ہے اور یہ تمام رکنیت رکھنے والے آلات کو پہنچایا جائے گا۔ موضوعات نیوز لیٹر، پروموشنل نوٹیفیکیشنز اور واقعہ پر مبنی پش کے لیے موزوں ہیں۔ زیادہ درست تقسیم کے لیے، منطقی آپریٹرز کے ساتھ متعدد موضوعات پر مبنی شرائط استعمال کی جاتی ہیں۔

اکثر پوچھے گئے سوالات

FCM اور APNs میں کیا فرق ہے؟

FCM Android پر Google کے اپنے انفراسٹرکچر کے ذریعے کام کرتا ہے، جبکہ iOS میں یہ APNs کو نقل و حمل کے پروٹوکول کے طور پر استعمال کرتا ہے۔ FCM دونوں پلیٹ فارمز کے لیے متحد API، آف لائن پیغامات کا خودکار ذخیرہ اور ترسیل کا تجزیہ فراہم کرتا ہے، جو خالص APNs میں دستیاب نہیں ہے۔

کیا سرور کے بغیر FCM پیغامات بھیجے جا سکتے ہیں؟

ہاں، Firebase Console میں Cloud Messaging سیکشن کے ذریعے منتخب آلات، موضوعات یا سامعین کے حصوں کو دستی طور پر نوٹیفیکیشن بھیجے جا سکتے ہیں۔ یہ خصوصیت جانچ اور ایک بار کی بھیجائی کے لیے موزوں ہے، لیکن پروڈکشن ایپلیکیشنز کے لیے سرور انضمام کا متبادل نہیں ہے۔

اگر آلہ کا ٹوکن تبدیل ہو جائے تو کیا کریں؟

FirebaseMessagingService (Android) میں onNewToken یا MessagingDelegate (iOS) کے ذریعے ٹوکن اپ ڈیٹس کی رکنیت لیں۔ جب ٹوکن تبدیل ہوتا ہے، نیا ٹوکن سرور کو بھیجیں اور پرانا ہٹا دیں۔ سرور کو ڈیٹا بیس اپ ڈیٹ کرنا چاہیے اور پرانے ٹوکن پر بھیجنے کی کوششیں بند کرنی چاہئیں۔

FCM آف لائن آلات کو کیسے ہینڈل کرتا ہے؟

FCM پیغام کو 28 دنوں تک ایک قطار میں ذخیرہ کرتا ہے اور کنکشن بحال ہونے پر پہنچاتا ہے۔ Notification پیغامات کے لیے، ہر کولیپس گروپ میں صرف آخری پیغام کولیپس ہوتا ہے۔ Data پیغامات الگ سے ذخیرہ ہوتے ہیں اور بغیر کولیپس کے بھیجائی کی ترتیب میں پہنچائے جاتے ہیں۔

Firebase Cloud Messaging استعمال کرنے کی قیمت کیا ہے؟

FCM مکمل طور پر مفت ہے پیغامات کی تعداد پر کسی حد کے بغیر۔ FCM استعمال پر Spark پلان یا Blaze پلان میں کوئی چارج نہیں ہے۔ صرف پے لوڈ سائز پر حدود ہیں: notification پیغامات کے لیے 4 KB تک اور data پیغامات کے لیے 2 KB تک۔

خلاصہ

  • Firebase Cloud Messaging Google کی ایک کراس پلیٹ فارم پش نوٹیفیکیشن سروس ہے جو متحد API کے ذریعے Android، iOS، Web اور Unity کو سپورٹ کرتی ہے۔
  • FCM فن تعمیر فراہم کنندہ سرور، Firebase انفراسٹرکچر اور کلائنٹ ایپلیکیشن پر مشتمل ہے، جو Google کے عالمی نیٹ ورک کے ذریعے قابل بھروسہ پیغام ترسیل کو یقینی بناتا ہے۔
  • تین اقسام کے پیغامات — notification (خودکار نمائش)، data (UI کے بغیر صوابدیدی پے لوڈ) اور مشترکہ (ایک پیغام میں دونوں اقسام)۔
  • Android میں FCM اپنے کنکشن کے ساتھ FirebaseMessagingService کے ذریعے کام کرتا ہے، جبکہ iOS میں یہ MessagingDelegate کے ذریعے ٹوکن روکنے کے ساتھ APNs کو نقل و حمل کے طور پر استعمال کرتا ہے۔
  • HTTP v1 API Service Account کے ذریعے OAuth 2.0 تصدیق اور ترسیل کے تجزیہ کی حمایت کے ساتھ سرور سائیڈ بھیجائی کے لیے تجویز کردہ ہے۔
  • موضوعات سبسکرائبر گروپس کو پیغامات بھیجنے کی اجازت دیتے ہیں، اور شرائط درست تقسیم کے لیے متعدد موضوعات کو یکجا کرنے کی اجازت دیتی ہیں۔
  • FCM مفت ہے پیغام کی حد کے بغیر، آف لائن پیغامات کو 28 دنوں تک ذخیرہ کرتا ہے اور زیادہ سے زیادہ پے لوڈ سائز 4 KB ہے۔

ہم ایک موبائل ایپلیکیشن ٹرنکی تیار کریں گے

IT Sectr 2017 سے اسٹارٹ اپس اور کاروبار کے لیے iOS اور Android ایپلیکیشنز بناتا ہے۔ ہم آپ کو مشورہ دیں گے اور بہترین حل تجویز کریں گے۔

پروجیکٹ پر بحث کریں

مزید پڑھیں