यह दस्तावेज़ उस एचटीटीपी सिंटैक्स का रेफ़रंस देता है जिसका इस्तेमाल Firebase क्लाउड से मैसेज के ज़रिए, आपके ऐप्लिकेशन सर्वर से क्लाइंट ऐप्लिकेशन पर मैसेज भेजने के लिए किया जाता है.
लेगसी एचटीटीपी प्रोटोकॉल का इस्तेमाल करने पर, आपके ऐप्लिकेशन सर्वर को सभी एचटीटीपी अनुरोधों को इस एंडपॉइंट पर भेजना होगा:
https://fcm.googleapis.com/fcm/send
उपलब्ध पैरामीटर और विकल्प, इन बड़ी कैटगरी में आते हैं:
डाउनस्ट्रीम मैसेज सिंटैक्स
इस सेक्शन में, डाउनस्ट्रीम मैसेज भेजने और 'Firebase क्लाउड से मैसेज' से एचटीटीपी रिस्पॉन्स को समझने के लिए सिंटैक्स दिया जाता है.
डाउनस्ट्रीम एचटीटीपी मैसेज (JSON)
यहां दी गई टेबल में, एचटीटीपी JSON मैसेज के टारगेट, विकल्प, और पेलोड की सूची दी गई है.
पैरामीटर | इस्तेमाल का तरीका | ब्यौरा | |
---|---|---|---|
टारगेट | |||
to |
ज़रूरी नहीं, स्ट्रिंग |
इस पैरामीटर से, मैसेज पाने वाले की जानकारी मिलती है.
यह वैल्यू किसी डिवाइस का रजिस्ट्रेशन टोकन, डिवाइस ग्रुप की सूचना कुंजी या कोई एक विषय ( |
|
registration_ids | ज़रूरी नहीं, स्ट्रिंग का अरे |
यह पैरामीटर मल्टीकास्ट मैसेज पाने वाले की जानकारी देता है. यह मैसेज एक से ज़्यादा रजिस्ट्रेशन टोकन को भेजा जाता है.
वैल्यू, रजिस्ट्रेशन टोकन की एक कैटगरी होनी चाहिए, जिस पर मल्टीकास्ट मैसेज भेजना है. कलेक्शन में कम से कम 1 और ज़्यादा से ज़्यादा 1,000
रजिस्ट्रेशन टोकन होने चाहिए. किसी एक डिवाइस पर मैसेज भेजने के लिए, मल्टीकास्ट मैसेज की अनुमति सिर्फ़ एचटीटीपी JSON फ़ॉर्मैट का इस्तेमाल करने पर है. |
|
condition |
ज़रूरी नहीं, स्ट्रिंग | यह पैरामीटर शर्तों का एक लॉजिकल एक्सप्रेशन तय करता है, जो मैसेज टारगेट तय करता है. इस्तेमाल की जा सकने वाली शर्त: विषय, "विषयों में 'आपका विषय' के फ़ॉर्मैट में होना चाहिए. यह वैल्यू, केस-इनसेंसिटिव होती है. इस्तेमाल किए जा सकने वाले ऑपरेटर: |
|
notification_key अब काम नहीं करता |
ज़रूरी नहीं, स्ट्रिंग | यह पैरामीटर अब काम नहीं करता. इसके बजाय, यह तय करने के लिए कि
ईमेल पाने वाले लोगों की संख्या कितनी है, |
|
विकल्प | |||
collapse_key |
ज़रूरी नहीं, स्ट्रिंग | यह पैरामीटर मैसेज के एक ग्रुप (जैसे, ध्यान दें, इस बात की कोई गारंटी नहीं होती कि मैसेज किस क्रम में भेजे जाएंगे. ध्यान दें: किसी भी समय ज़्यादा से ज़्यादा चार अलग-अलग छोटा करने वाली कुंजियों की अनुमति है. इसका मतलब है कि FCM हर क्लाइंट ऐप्लिकेशन के लिए एक साथ चार अलग-अलग मैसेज सेव कर सकता है. अगर यह संख्या इससे ज़्यादा हो जाती है, तो इस बात की कोई गारंटी नहीं है कि FCM पर मौजूद कौनसी 'छोटा करने की कुंजियां' रखी जाएंगी. |
|
priority |
ज़रूरी नहीं, स्ट्रिंग | मैसेज की प्राथमिकता सेट करता है. मान्य वैल्यू "सामान्य" और "ज़्यादा" हैं. Apple प्लैटफ़ॉर्म पर, ये एपीएन प्राथमिकताएं 5 और 10 के मुताबिक होती हैं. डिफ़ॉल्ट रूप से, सूचना वाले मैसेज ज़्यादा प्राथमिकता पर भेजे जाते हैं और डेटा मैसेज, सामान्य प्राथमिकता पर भेजे जाते हैं. 'सामान्य प्राथमिकता' क्लाइंट ऐप्लिकेशन की बैटरी के इस्तेमाल को ऑप्टिमाइज़ करती है. इसका इस्तेमाल तब तक किया जाना चाहिए, जब तक तुरंत डिलीवरी की ज़रूरत न हो. सामान्य प्राथमिकता वाले मैसेज के लिए, ऐप्लिकेशन को तय समय पर देरी से मैसेज मिल सकता है. जब ज़्यादा प्राथमिकता वाला कोई मैसेज भेजा जाता है, तो उसे तुरंत भेज दिया जाता है. साथ ही, ऐप्लिकेशन एक सूचना दिखा सकता है. |
|
content_available |
ज़रूरी नहीं, बूलियन | Apple प्लैटफ़ॉर्म पर, एपीएन पेलोड में |
|
mutable_content |
ज़रूरी नहीं, JSON बूलियन | Apple प्लैटफ़ॉर्म पर, एपीएन पेलोड में
|
|
time_to_live |
ज़रूरी नहीं, नंबर | यह पैरामीटर तय करता है कि अगर डिवाइस ऑफ़लाइन है, तो मैसेज को FCM स्टोरेज में कितनी देर (सेकंड में) तक रखा जाना चाहिए. लाइव स्ट्रीम करने की अवधि ज़्यादा से ज़्यादा चार हफ़्तों में हो सकती है. वहीं, डिफ़ॉल्ट तौर पर यह अवधि चार हफ़्ते की होती है. ज़्यादा जानकारी के लिए, मैसेज कितने समय तक सेव रहे, यह सेट करना देखें. |
|
restricted_package_
(सिर्फ़ Android वर्शन पर) |
ज़रूरी नहीं, स्ट्रिंग | यह पैरामीटर उस ऐप्लिकेशन का पैकेज नाम बताता है जिसमें मैसेज पाने के लिए, रजिस्ट्रेशन टोकन का मेल खाना ज़रूरी है. | |
dry_run |
ज़रूरी नहीं, बूलियन | इस पैरामीटर को डिफ़ॉल्ट वैल्यू |
|
पेलोड | |||
data |
ज़रूरी नहीं, ऑब्जेक्ट | यह पैरामीटर, मैसेज के पेलोड के कस्टम की-वैल्यू पेयर को तय करता है. उदाहरण के लिए, Apple प्लैटफ़ॉर्म पर, अगर मैसेज एपीएन के ज़रिए भेजा जाता है, तो यह कस्टम डेटा फ़ील्ड दिखाता है. अगर इसे FCM से भेजा जाता है,
तो इसे Android पर, इससे स्ट्रिंग वैल्यू कुंजी रिज़र्व किया गया शब्द नहीं होना चाहिए. जैसे, "from", "message_type" या "google" या "gcm" से शुरू होने वाला कोई भी शब्द. इस टेबल में बताए गए किसी भी शब्द
(जैसे कि स्ट्रिंग टाइप में वैल्यू जोड़ने का सुझाव दिया जाता है. आपको ऑब्जेक्ट या दूसरे बिना स्ट्रिंग वाले डेटा टाइप (जैसे कि पूर्णांक या बूलियन) की वैल्यू को स्ट्रिंग में बदलना होगा. |
|
notification |
ज़रूरी नहीं, ऑब्जेक्ट | यह पैरामीटर, सूचना पेलोड के पहले से तय और उपयोगकर्ता को दिखने वाले की-वैल्यू पेयर की जानकारी देता है. ज़्यादा जानकारी के लिए, सूचना पेलोड से जुड़ी सहायता देखें.
सूचना वाले मैसेज और डेटा मैसेज के विकल्पों के बारे में ज़्यादा जानने के लिए,
मैसेज के टाइप देखें. अगर सूचना पेलोड दिया गया है या
Apple डिवाइस पर मैसेज के लिए content_available का विकल्प true पर सेट है,
तो मैसेज एपीएन से भेजा जाता है. ऐसा न होने पर,
यह FCM के ज़रिए भेजा जाता है.
|
नोटिफ़िकेशन पेलोड सहायता
इन टेबल में, iOS और Android के लिए सूचना देने वाले मैसेज बनाने के लिए उपलब्ध, पहले से तय की गई कुंजियों की सूची दी गई है.
पैरामीटर | इस्तेमाल का तरीका | ब्यौरा |
---|---|---|
title |
ज़रूरी नहीं, स्ट्रिंग |
सूचना का टाइटल. यह फ़ील्ड फ़ोन और टैबलेट पर दिखाई नहीं देता है. |
body |
ज़रूरी नहीं, स्ट्रिंग |
सूचना का मुख्य टेक्स्ट. |
sound |
ज़रूरी नहीं, स्ट्रिंग |
डिवाइस को सूचना मिलने पर सुनाई देने वाली आवाज़.
क्लाइंट ऐप्लिकेशन के मुख्य बंडल या ऐप्लिकेशन के डेटा कंटेनर के |
badge |
ज़रूरी नहीं, स्ट्रिंग |
होम स्क्रीन ऐप्लिकेशन आइकॉन पर बैज की वैल्यू. अगर इसके बारे में नहीं बताया गया है, तो बैज में कोई बदलाव नहीं होता.
अगर इसे |
click_action |
ज़रूरी नहीं, स्ट्रिंग |
उपयोगकर्ता ने सूचना पर क्लिक करने से जुड़ी कार्रवाई की.
एपीएन पेलोड में |
subtitle |
ज़रूरी नहीं, स्ट्रिंग |
सूचना का सबटाइटल. |
body_loc_key |
ज़रूरी नहीं, स्ट्रिंग |
यह ऐप्लिकेशन के स्ट्रिंग संसाधनों में बॉडी स्ट्रिंग की कुंजी है. इसका इस्तेमाल, टेक्स्ट को उपयोगकर्ता की मौजूदा स्थानीय भाषा के हिसाब से बनाने के लिए किया जाता है.
एपीएन पेलोड में ज़्यादा जानकारी के लिए, पेलोड कुंजी का रेफ़रंस और रिमोट पर मिलने वाली सूचनाओं के कॉन्टेंट को स्थानीय भाषा में उपलब्ध कराना देखें. |
body_loc_args |
ज़रूरी नहीं, स्ट्रिंग के तौर पर JSON फ़ॉर्मैट |
एपीएन पेलोड में ज़्यादा जानकारी के लिए, पेलोड कुंजी का रेफ़रंस और रिमोट पर मिलने वाली सूचनाओं के कॉन्टेंट को स्थानीय भाषा में उपलब्ध कराना देखें. |
title_loc_key |
ज़रूरी नहीं, स्ट्रिंग |
यह ऐप्लिकेशन के स्ट्रिंग संसाधनों में शीर्षक स्ट्रिंग की कुंजी होती है. इसका इस्तेमाल, टाइटल के टेक्स्ट को उपयोगकर्ता की मौजूदा स्थानीय भाषा के हिसाब से स्थानीय भाषा में उपलब्ध कराने के लिए किया जाता है.
एपीएन पेलोड में ज़्यादा जानकारी के लिए, पेलोड कुंजी का रेफ़रंस और रिमोट पर मिलने वाली सूचनाओं के कॉन्टेंट को स्थानीय भाषा में उपलब्ध कराना देखें. |
title_loc_args |
ज़रूरी नहीं, स्ट्रिंग के तौर पर JSON फ़ॉर्मैट |
एपीएन पेलोड में ज़्यादा जानकारी के लिए, पेलोड कुंजी का रेफ़रंस और रिमोट पर मिलने वाली सूचनाओं के कॉन्टेंट को स्थानीय भाषा में उपलब्ध कराना देखें. |
पैरामीटर | इस्तेमाल का तरीका | ब्यौरा |
---|---|---|
title |
ज़रूरी नहीं, स्ट्रिंग |
सूचना का टाइटल. |
body |
ज़रूरी नहीं, स्ट्रिंग |
सूचना का मुख्य टेक्स्ट. |
android_channel_id |
ज़रूरी नहीं, स्ट्रिंग |
सूचना का चैनल आईडी (Android O में नया). इस चैनल आईडी की कोई भी सूचना मिलने से पहले, ऐप्लिकेशन को इस चैनल आईडी के साथ एक चैनल बनाना होगा. अगर आप अनुरोध में यह चैनल आईडी नहीं भेजते हैं या दिया गया चैनल आईडी, ऐप्लिकेशन ने अब तक नहीं बनाया है, तो FCM, ऐप्लिकेशन मेनिफ़ेस्ट में बताए गए चैनल आईडी का इस्तेमाल करता है. |
icon |
ज़रूरी नहीं, स्ट्रिंग |
सूचना का आइकॉन.
ड्रॉ करने लायक संसाधन |
sound |
ज़रूरी नहीं, स्ट्रिंग |
डिवाइस को सूचना मिलने पर सुनाई देने वाली आवाज़.
ऐप्लिकेशन में बंडल किए गए किसी साउंड रिसॉर्स
के फ़ाइल नाम या |
tag |
ज़रूरी नहीं, स्ट्रिंग |
नोटिफ़िकेशन ड्रॉर में मौजूदा सूचनाओं को बदलने के लिए, आइडेंटिफ़ायर का इस्तेमाल किया जाता है. अगर इनके बारे में नहीं बताया गया है, तो हर अनुरोध से एक नई सूचना मिलती है. अगर बताया गया है और उसी टैग के साथ कोई सूचना पहले से दिखाई जा रही है, तो नई सूचना, सूचना पैनल में मौजूदा सूचना की जगह ले लेगी. |
color |
ज़रूरी नहीं, स्ट्रिंग |
सूचना के आइकॉन का रंग, जिसे |
click_action |
ज़रूरी नहीं, स्ट्रिंग |
उपयोगकर्ता ने सूचना पर क्लिक करने से जुड़ी कार्रवाई की. अगर बताया गया है, तो मिलते-जुलते इंटेंट फ़िल्टर वाली गतिविधि तब लॉन्च की जाती है, जब कोई उपयोगकर्ता सूचना पर क्लिक करता है. |
body_loc_key |
ज़रूरी नहीं, स्ट्रिंग |
यह ऐप्लिकेशन के स्ट्रिंग संसाधनों में बॉडी स्ट्रिंग की कुंजी है. इसका इस्तेमाल, टेक्स्ट को उपयोगकर्ता की मौजूदा स्थानीय भाषा के हिसाब से बनाने के लिए किया जाता है. ज़्यादा जानकारी के लिए, स्ट्रिंग रिसॉर्स देखें. |
body_loc_args |
ज़रूरी नहीं, स्ट्रिंग के तौर पर JSON फ़ॉर्मैट |
ज़्यादा जानकारी के लिए, फ़ॉर्मैटिंग और स्टाइल देखें. |
title_loc_key |
ज़रूरी नहीं, स्ट्रिंग |
यह ऐप्लिकेशन के स्ट्रिंग संसाधनों में शीर्षक स्ट्रिंग की कुंजी होती है. इसका इस्तेमाल, टाइटल के टेक्स्ट को उपयोगकर्ता की मौजूदा स्थानीय भाषा के हिसाब से स्थानीय भाषा में उपलब्ध कराने के लिए किया जाता है. ज़्यादा जानकारी के लिए, स्ट्रिंग रिसॉर्स देखें. |
title_loc_args |
ज़रूरी नहीं, स्ट्रिंग के तौर पर JSON फ़ॉर्मैट |
ज़्यादा जानकारी के लिए, फ़ॉर्मैटिंग और स्टाइल देखें. |
पैरामीटर | इस्तेमाल का तरीका | ब्यौरा |
---|---|---|
title |
ज़रूरी नहीं, स्ट्रिंग |
सूचना का टाइटल. |
body |
ज़रूरी नहीं, स्ट्रिंग |
सूचना का मुख्य टेक्स्ट. |
icon |
ज़रूरी नहीं, स्ट्रिंग |
सूचना के आइकॉन के लिए इस्तेमाल किया जाने वाला यूआरएल. |
click_action |
ज़रूरी नहीं, स्ट्रिंग |
उपयोगकर्ता ने सूचना पर क्लिक करने से जुड़ी कार्रवाई की. सभी यूआरएल वैल्यू के लिए, एचटीटीपीएस ज़रूरी है. |
डाउनस्ट्रीम एचटीटीपी मैसेज (सामान्य टेक्स्ट)
नीचे दी गई टेबल में सामान्य टेक्स्ट डाउनस्ट्रीम एचटीटीपी मैसेज में टारगेट, विकल्पों, और पेलोड के लिए सिंटैक्स की सूची दी गई है.
पैरामीटर | इस्तेमाल का तरीका | ब्यौरा |
---|---|---|
टारगेट | ||
registration_id |
ज़रूरी है, स्ट्रिंग | यह पैरामीटर, मैसेज पाने वाले क्लाइंट ऐप्लिकेशन (रजिस्ट्रेशन टोकन) के बारे में बताता है. मल्टीकास्ट मैसेज सेवा (एक से ज़्यादा रजिस्ट्रेशन टोकन पर भेजने की सुविधा) सिर्फ़ एचटीटीपी JSON फ़ॉर्मैट का इस्तेमाल कर सकती है. |
विकल्प | ||
collapse_key |
ज़रूरी नहीं, स्ट्रिंग | ज़्यादा जानकारी के लिए, पहली टेबल देखें. |
time_to_live |
ज़रूरी नहीं, नंबर | ज़्यादा जानकारी के लिए, पहली टेबल देखें. |
restricted_package_name |
ज़रूरी नहीं, स्ट्रिंग | ज़्यादा जानकारी के लिए, पहली टेबल देखें. |
dry_run |
ज़रूरी नहीं, बूलियन | ज़्यादा जानकारी के लिए, पहली टेबल देखें. |
पेलोड | ||
data.<key> |
ज़रूरी नहीं, स्ट्रिंग | यह पैरामीटर, मैसेज के पेलोड के की-वैल्यू पेयर को तय करता है. कुंजी-वैल्यू पैरामीटर की संख्या की कोई सीमा नहीं है, लेकिन मैसेज का साइज़ 4096 बाइट तक हो सकता है. उदाहरण के लिए, Android में कुंजी रिज़र्व किया गया शब्द नहीं होना चाहिए. जैसे, "from", "message_type" या "google" या "gcm" से शुरू होने वाला कोई भी शब्द. इस टेबल में बताए गए किसी भी शब्द
(जैसे कि |
डाउनस्ट्रीम मैसेज के जवाब को समझना
FCM से भेजे गए मैसेज के जवाब को समझने के लिए, ऐप्लिकेशन सर्वर को मैसेज का जवाब देने वाले हेडर और मुख्य हिस्से, दोनों का आकलन करना चाहिए. नीचे दी गई टेबल में, संभावित जवाबों की जानकारी दी गई है.
जवाब | ब्यौरा |
---|---|
200 | मैसेज प्रोसेस हो गया. जवाब के मुख्य हिस्से में मैसेज की स्थिति के बारे में ज़्यादा जानकारी शामिल होगी. हालांकि, इसका फ़ॉर्मैट इस बात पर निर्भर करेगा कि अनुरोध JSON या सादा टेक्स्ट था. ज़्यादा जानकारी के लिए, टेबल 5 देखें. |
400 | यह सुविधा सिर्फ़ JSON अनुरोधों पर लागू होती है. इससे पता चलता है कि अनुरोध को JSON के तौर पर पार्स नहीं किया जा सका या उसमें अमान्य फ़ील्ड शामिल थे (उदाहरण के लिए, ऐसी स्ट्रिंग पास करना जहां नंबर की उम्मीद थी). जवाब में, गड़बड़ी की सटीक वजह के बारे में बताया गया है. साथ ही, फिर से कोशिश करने से पहले, समस्या को ठीक किया जाना चाहिए. |
401 | भेजने वाले के खाते की पुष्टि करते समय कोई गड़बड़ी हुई. |
5xx | 500-599 की रेंज (जैसे कि 500 या 503) की गड़बड़ियां बताती हैं कि अनुरोध को प्रोसेस करते समय, FCM बैकएंड में कोई अंदरूनी गड़बड़ी हुई. यह भी हो सकता है कि सर्वर कुछ समय के लिए उपलब्ध नहीं है, जैसे कि टाइम आउट होने की वजह से. जवाब में शामिल किसी Retry-After हेडर के हिसाब से, भेजने वाले को बाद में कोशिश करनी होगी. ऐप्लिकेशन सर्वर को एक्सपोनेन्शियल बैक-ऑफ़ लागू करना होगा. |
इस टेबल में, डाउनस्ट्रीम मैसेज के जवाब वाले मुख्य हिस्से (JSON) में फ़ील्ड की सूची दी गई है.
पैरामीटर | इस्तेमाल का तरीका | ब्यौरा |
---|---|---|
multicast_id |
ज़रूरी है, नंबर | मल्टीकास्ट मैसेज की पहचान करने वाला यूनीक आईडी (नंबर). |
success |
ज़रूरी है, नंबर | बिना किसी गड़बड़ी के प्रोसेस किए गए मैसेज की संख्या. |
failure |
ज़रूरी है, नंबर | प्रोसेस नहीं किए जा सके मैसेज की संख्या. |
results |
ज़रूरी है, ऑब्जेक्ट का कलेक्शन | प्रोसेस किए गए मैसेज की स्थिति दिखाने वाले ऑब्जेक्ट का कलेक्शन. ऑब्जेक्ट को उसी क्रम में लिस्ट किया जाता है जैसा अनुरोध किया गया था. इसका मतलब है कि अनुरोध में मौजूद हर रजिस्ट्रेशन आईडी के लिए, रिस्पॉन्स में इसका नतीजा उसी इंडेक्स में दिया गया है.
|
पैरामीटर | इस्तेमाल का तरीका | ब्यौरा |
---|---|---|
message_id |
ज़रूरी नहीं, नंबर | विषय का मैसेज आईडी, जब FCM को अनुरोध मिल जाएगा और वह सदस्यता वाले सभी डिवाइसों पर डिलीवर करने की कोशिश करेगा. |
error |
ज़रूरी नहीं, स्ट्रिंग | मैसेज को प्रोसेस करते समय कोई गड़बड़ी हुई. संभावित वैल्यू टेबल 9 में देखी जा सकती हैं. |
पैरामीटर | इस्तेमाल का तरीका | ब्यौरा |
---|---|---|
id |
ज़रूरी है, स्ट्रिंग | यह पैरामीटर, FCM के प्रोसेस किए गए यूनीक मैसेज आईडी की जानकारी देता है. |
registration_id |
ज़रूरी नहीं, स्ट्रिंग | यह पैरामीटर उस क्लाइंट ऐप्लिकेशन के रजिस्ट्रेशन टोकन के बारे में बताता है जिस पर मैसेज प्रोसेस करके भेजा गया था. |
पैरामीटर | इस्तेमाल का तरीका | ब्यौरा |
---|---|---|
Error |
ज़रूरी है, स्ट्रिंग | यह पैरामीटर, मैसेज पाने वाले के लिए मैसेज प्रोसेस करते समय गड़बड़ी वाली वैल्यू के बारे में बताता है. ज़्यादा जानकारी के लिए, टेबल 9 देखें. |
डाउनस्ट्रीम मैसेज में गड़बड़ी के रिस्पॉन्स कोड
यहां दी गई टेबल में, डाउनस्ट्रीम मैसेज के लिए गड़बड़ी के रिस्पॉन्स कोड दिए गए हैं.
गड़बड़ी | एचटीटीपी कोड | सुझाई गई कार्रवाई |
---|---|---|
रजिस्ट्रेशन टोकन मौजूद नहीं है | 200 + गड़बड़ी:रजिस्ट्रेशन नहीं है | देखें कि अनुरोध में रजिस्ट्रेशन टोकन शामिल है या नहीं (सामान्य टेक्स्ट मैसेज के registration_id में या JSON के to या registration_ids फ़ील्ड में). |
अमान्य रजिस्ट्रेशन टोकन | 200 + गड़बड़ी:अमान्य रजिस्ट्रेशन | सर्वर पर भेजे जाने वाले रजिस्ट्रेशन टोकन का फ़ॉर्मैट जांचें. पक्का करें कि यह Firebase नोटिफ़िकेशन के साथ रजिस्टर करने से क्लाइंट ऐप्लिकेशन को मिलने वाले रजिस्ट्रेशन टोकन से मेल खाता हो. न तो काट-छांट करें और न ही अतिरिक्त वर्णों को जोड़ें. |
डिवाइस का रजिस्ट्रेशन रद्द किया गया है | 200 + गड़बड़ी:रजिस्टर नहीं किया गया | मौजूदा रजिस्ट्रेशन टोकन, कई स्थितियों में मान्य नहीं रह सकता. इनमें ये शामिल हैं:
|
अमान्य पैकेज नाम | 200 + गड़बड़ी:अमान्यपैकेज नाम | पक्का करें कि मैसेज, रजिस्ट्रेशन टोकन के लिए भेजा गया हो. इसका पैकेज का नाम, अनुरोध में दी गई वैल्यू से मेल खाता हो. |
प्रमाणीकरण गड़बड़ी | 401 | मैसेज भेजने के लिए इस्तेमाल किए जाने वाले व्यक्ति के खाते की पुष्टि नहीं की जा सकी. इसकी ये वजहें हो सकती हैं:
|
भेजने वाले का नाम मेल नहीं खा रहा है | 200 + गड़बड़ी:MismatchSenderId | रजिस्ट्रेशन टोकन, ईमेल भेजने वालों के खास ग्रुप से जुड़ा होता है. जब कोई क्लाइंट ऐप्लिकेशन FCM के लिए रजिस्टर होता है, तब उसे यह बताना होगा कि ईमेल भेजने वाले किन लोगों को मैसेज भेजने की अनुमति है. क्लाइंट ऐप्लिकेशन पर मैसेज भेजते समय, आपको इनमें से किसी एक आईडी का इस्तेमाल करना चाहिए. अगर किसी दूसरे ईमेल भेजने वाले पर स्विच किया जाता है, तो मौजूदा रजिस्ट्रेशन टोकन काम नहीं करेंगे. |
अमान्य JSON | 400 | जांच लें कि JSON मैसेज सही तरीके से फ़ॉर्मैट किया गया है और उसमें मान्य फ़ील्ड हैं (उदाहरण के लिए, यह पक्का करना कि सही डेटा टाइप पास किया गया है). |
अमान्य पैरामीटर | 400 + गड़बड़ी:अमान्य पैरामीटर | देखें कि दिए गए पैरामीटर का नाम और टाइप सही है या नहीं. |
मैसेज बहुत बड़ा है | 200 + गड़बड़ी:MessageTooBig | जांचें कि किसी मैसेज में शामिल पेलोड डेटा का कुल साइज़, FCM की सीमा से ज़्यादा न हो. यह सीमा, ज़्यादातर मैसेज के लिए 4096 बाइट या विषयों के मैसेज के मामले में 2048 बाइट है. इसमें 'की' और वैल्यू दोनों शामिल होते हैं. |
अमान्य डेटा कुंजी | 200 + गड़बड़ी:
अमान्यDataKey |
यह जांच लें कि पेलोड डेटा में कोई ऐसी कुंजी (जैसे कि from या gcm या google से शुरू की गई कोई भी वैल्यू) न हो जिसे FCM में इस्तेमाल किया जा रहा हो. ध्यान दें कि कुछ शब्द (जैसे कि collapse_key )
का भी इस्तेमाल FCM में किया जाता है, लेकिन पेलोड में उनका इस्तेमाल किया जा सकता है. ऐसे में,
पेलोड वैल्यू को FCM वैल्यू से बदल दिया जाएगा. |
अमान्य समय लाइव करने का | 200 + गड़बड़ी:अमान्य | जांचें कि time_to_live में इस्तेमाल किया गया मान, 0 से 2,419,200 (4 हफ़्ते) के बीच सेकंड में अवधि को दिखाने वाला पूर्णांक है. |
टाइम आउट की संख्या | 5xx या 200 + गड़बड़ी:उपलब्ध नहीं है | सर्वर समय पर अनुरोध को प्रोसेस नहीं कर सका. फिर से उसी अनुरोध की कोशिश करें, लेकिन आपको ये काम करने होंगे:
जिन ईमेल के ज़रिए समस्याएं होती हैं उन्हें ब्लैकलिस्ट किए जाने का खतरा होता है. |
आंतरिक सर्वर गड़बड़ी | 500 या 200 + गड़बड़ी:InternalServerError | अनुरोध को प्रोसेस करते समय सर्वर में कोई गड़बड़ी हुई. "समय खत्म" (ऊपर दी गई पंक्ति देखें) में बताई गई ज़रूरी शर्तों का पालन करके, फिर से वही अनुरोध करें. अगर गड़बड़ी बनी रहती है, तो कृपया Firebase सहायता टीम से संपर्क करें. |
डिवाइस के मैसेज की दर पार हो गई | 200 + गड़बड़ी:
DeviceMessageRate सीमा खत्म हो गई है |
किसी खास डिवाइस पर भेजे जाने वाले मैसेज की दर बहुत ज़्यादा है. अगर Apple का कोई ऐप्लिकेशन एपीएन की तय सीमा से ज़्यादा दर पर मैसेज भेजता है, तो उसे गड़बड़ी का यह मैसेज मिल सकता है इस डिवाइस पर भेजे गए मैसेज की संख्या कम करें और फिर से भेजने के लिए एक्सपोनेन्शियल बैकऑफ़ का इस्तेमाल करें. |
विषयों की मैसेज दर पार हो गई | 200 + गड़बड़ी:
TopicsMessageRate तय सीमा से ज़्यादा |
किसी खास विषय के सदस्यों को भेजे जाने वाले मैसेज की दर बहुत ज़्यादा है. इस विषय के लिए भेजे गए मैसेज की संख्या कम करें और फिर से भेजने के लिए एक्सपोनेन्शियल बैकऑफ़ का इस्तेमाल करें. |
एपीएन क्रेडेंशियल अमान्य हैं | 200 + गड़बड़ी:
अमान्यApnsAdWords |
Apple डिवाइस को टारगेट करने वाला मैसेज नहीं भेजा जा सका, क्योंकि ज़रूरी एपीएन पुष्टि करने वाली कुंजी अपलोड नहीं की गई या उसकी समयसीमा खत्म हो गई है. अपने डेवलपमेंट और प्रोडक्शन क्रेडेंशियल की वैधता की जांच करें. |
डिवाइस ग्रुप मैनेजमेंट
डिवाइस ग्रुप बनाने के साथ-साथ सदस्यों को जोड़ने और हटाने की कुंजियां, नीचे दी गई टेबल में दी गई हैं. ज़्यादा जानकारी के लिए, अपने प्लैटफ़ॉर्म के लिए गाइड, iOS+ या Android देखें.
पैरामीटर | इस्तेमाल का तरीका | ब्यौरा |
---|---|---|
operation |
ज़रूरी है, स्ट्रिंग | चलाई जाने वाली कार्रवाई.मान्य वैल्यू create ,
add , और remove हैं. |
notification_key_name |
ज़रूरी है, स्ट्रिंग | डिवाइस ग्रुप बनाने या उसमें बदलाव करने के लिए, उपयोगकर्ता की ओर से तय किया गया नाम. |
notification_key |
ज़रूरी है (create कार्रवाई को छोड़कर, स्ट्रिंग |
डिवाइस ग्रुप का यूनीक आइडेंटिफ़ायर. यह वैल्यू
वापस, create कार्रवाई करने पर मिलती है.
साथ ही, यह डिवाइस ग्रुप पर की जाने वाली सभी कार्रवाइयों के लिए ज़रूरी है. |
registration_ids |
ज़रूरी है, स्ट्रिंग का कलेक्शन | जोड़ने या हटाने के लिए, डिवाइस के टोकन. अगर किसी डिवाइस ग्रुप से सभी मौजूदा रजिस्ट्रेशन टोकन हटाए जाते हैं, तो FCM, डिवाइस ग्रुप को मिटा देता है. |