इस दस्तावेज़ में उस एचटीटीपी सिंटैक्स का रेफ़रंस दिया गया है जिसका इस्तेमाल करके, Firebase क्लाउड से मैसेज भेजकर आपके ऐप्लिकेशन सर्वर से क्लाइंट ऐप्लिकेशन पर मैसेज भेजे जा सकते हैं.
लेगसी एचटीटीपी प्रोटोकॉल का इस्तेमाल करते समय, आपके ऐप्लिकेशन सर्वर को सभी एचटीटीपी अनुरोधों को इस एंडपॉइंट पर भेजना चाहिए:
https://fcm.googleapis.com/fcm/send
उपलब्ध पैरामीटर और विकल्पों को इन बड़ी कैटगरी में बांटा गया है:
डाउनस्ट्रीम मैसेज सिंटैक्स
इस सेक्शन में डाउनस्ट्रीम मैसेज भेजने और 'Firebase क्लाउड से मैसेज' से एचटीटीपी रिस्पॉन्स को समझने का सिंटैक्स दिया गया है.
डाउनस्ट्रीम एचटीटीपी मैसेज (JSON)
यहां दी गई टेबल में, एचटीटीपी JSON मैसेज के लिए टारगेट, विकल्प, और पेलोड की सूची दी गई है.
पैरामीटर | इस्तेमाल किए जाने से जुड़ी जानकारी | जानकारी | |
---|---|---|---|
टारगेट | |||
to |
ज़रूरी नहीं, स्ट्रिंग |
इस पैरामीटर से, मैसेज पाने वाले के बारे में पता चलता है.
यह वैल्यू, डिवाइस का रजिस्ट्रेशन टोकन, डिवाइस ग्रुप की
सूचना कुंजी या कोई एक विषय हो सकता है जिसकी शुरुआत में
|
|
registration_ids | ज़रूरी नहीं, स्ट्रिंग का कलेक्शन |
यह पैरामीटर, मल्टीकास्ट मैसेज पाने वाले व्यक्ति के बारे में बताता है. यह एक से ज़्यादा रजिस्ट्रेशन टोकन को भेजा जाने वाला मैसेज होता है.
वैल्यू, रजिस्ट्रेशन टोकन का कलेक्शन होना चाहिए, जिस पर
मल्टीकास्ट मैसेज भेजना है. अरे में कम से कम 1 और ज़्यादा से ज़्यादा 1,000 रजिस्ट्रेशन टोकन होने चाहिए. एक ही डिवाइस पर मैसेज भेजने के लिए, मल्टीकास्ट मैसेज सिर्फ़ एचटीटीपी JSON फ़ॉर्मैट का इस्तेमाल करके दिखाए जा सकते हैं. |
|
condition |
ज़रूरी नहीं, स्ट्रिंग | यह पैरामीटर शर्तों का लॉजिकल एक्सप्रेशन तय करता है, जो मैसेज के टारगेट को तय करता है. इस्तेमाल की जा सकने वाली स्थिति: विषय, "विषयों में 'yourToic'" के तौर पर फ़ॉर्मैट किया गया. यह वैल्यू, केस-इनसेंसिटिव होती है. इस्तेमाल किए जा सकने वाले ऑपरेटर: |
|
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 |
ज़रूरी नहीं, स्ट्रिंग | ज़्यादा जानकारी के लिए टेबल 1 देखें. |
time_to_live |
ज़रूरी नहीं है, नंबर | ज़्यादा जानकारी के लिए टेबल 1 देखें. |
restricted_package_name |
ज़रूरी नहीं, स्ट्रिंग | ज़्यादा जानकारी के लिए टेबल 1 देखें. |
dry_run |
वैकल्पिक, बूलियन | ज़्यादा जानकारी के लिए टेबल 1 देखें. |
पेलोड | ||
data.<key> |
ज़रूरी नहीं, स्ट्रिंग | यह पैरामीटर मैसेज के पेलोड के की-वैल्यू पेयर को तय करता है. की-वैल्यू पैरामीटर की संख्या की कोई सीमा नहीं है, लेकिन मैसेज के साइज़ की कुल सीमा 4096 बाइट है. उदाहरण के लिए, Android में कुंजी कोई रिज़र्व शब्द ("from", "message_type" या "google" या "gcm" से शुरू होने वाला कोई भी शब्द नहीं होना चाहिए). इस टेबल में दिए गए किसी भी शब्द का इस्तेमाल न करें
(जैसे कि |
डाउनस्ट्रीम मैसेज के जवाब को समझना
FCM से भेजे गए मैसेज के जवाब को समझने के लिए, ऐप्लिकेशन सर्वर को मैसेज रिस्पॉन्स हेडर और बॉडी, दोनों का आकलन करना चाहिए. यहां दी गई टेबल में, संभावित जवाबों के बारे में बताया गया है.
जवाब | जानकारी |
---|---|
200 | मैसेज प्रोसेस किया गया. जवाब के मुख्य हिस्से में मैसेज की स्थिति के बारे में ज़्यादा जानकारी शामिल होगी. हालांकि, इसका फ़ॉर्मैट इस बात पर निर्भर करेगा कि अनुरोध JSON का है या सादा टेक्स्ट. ज़्यादा जानकारी के लिए टेबल 5 देखें. |
400 | सिर्फ़ JSON के अनुरोधों पर लागू होता है. इससे पता चलता है कि अनुरोध को JSON के तौर पर पार्स नहीं किया जा सका या फिर उसमें अमान्य फ़ील्ड मौजूद थे. उदाहरण के लिए, ऐसी स्ट्रिंग पास करना जिसमें कोई संख्या होनी चाहिए थी. जवाब में फ़ेल होने की सही वजह बताई गई होती है और अनुरोध की दोबारा कोशिश करने से पहले समस्या को ठीक कर लिया जाना चाहिए. |
401 | भेजने वाले के खाते की पुष्टि करते समय कोई गड़बड़ी हुई. |
5एक्स | 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 के ज़रिए अंदरूनी तौर पर किया जाता है. ध्यान दें कि FCM में भी कुछ शब्दों (जैसे कि collapse_key ) का इस्तेमाल किया जाता है, लेकिन पेलोड में इनका इस्तेमाल किया जा सकता है. ऐसा होने पर, पेलोड वैल्यू की जगह FCM वैल्यू लागू हो जाएगी. |
रहने का समय अमान्य है | 200 + गड़बड़ी:अमान्यTtl | पक्का करें कि time_to_live में इस्तेमाल की गई वैल्यू, एक पूर्णांक हो. यह 0 से 24,19,200 (चार हफ़्ते) के बीच की अवधि को सेकंड में दिखाता है. |
समय खत्म हो गया (टाइम आउट) | 5xx या 200 + गड़बड़ी:उपलब्ध नहीं है | सर्वर समय पर अनुरोध को प्रोसेस नहीं कर सका. उसी अनुरोध को फिर से करने की कोशिश करें, लेकिन आपको ये काम ज़रूर करने होंगे:
ऐसे मैसेज भेजने वालों को ब्लैकलिस्ट किए जाने का खतरा होता है जिनकी वजह से समस्याएं पैदा होती हैं. |
सर्वर में गड़बड़ी | 500 या 200 + गड़बड़ी:internalServerError | आपके अनुरोध को प्रोसेस करते समय सर्वर में कोई गड़बड़ी हुई. आप "समय खत्म" (ऊपर पंक्ति देखें) में बताई गई ज़रूरी शर्तों का पालन करके फिर से यही अनुरोध कर सकते हैं. अगर गड़बड़ी बनी रहती है, तो कृपया Firebase की सहायता टीम से संपर्क करें. |
डिवाइस पर मैसेज की दर पार हो गई | 200 + गड़बड़ी:
DeviceMessageRate तय सीमा से ज़्यादा |
किसी खास डिवाइस पर मैसेज भेजने की दर बहुत ज़्यादा है. अगर Apple का कोई ऐप्लिकेशन एपीएन की तय सीमा से ज़्यादा दर से मैसेज भेजता है, तो उसे गड़बड़ी का यह मैसेज मिल सकता है इस डिवाइस पर भेजे गए मैसेज की संख्या कम करें और फिर से भेजने के लिए एक्सपोनेन्शियल बैकऑफ़ का इस्तेमाल करें. |
विषयों से जुड़े मैसेज की दर पार हो गई | 200 + गड़बड़ी:
TopicsMessageRate तय सीमा से ज़्यादा |
किसी खास विषय पर सदस्यों को भेजे जाने वाले मैसेज की दर बहुत ज़्यादा है. इस विषय के लिए भेजे गए मैसेज की संख्या कम करें और फिर से भेजने के लिए एक्सपोनेन्शियल बैकऑफ़ का इस्तेमाल करें. |
अमान्य एपीएन क्रेडेंशियल | 200 + गड़बड़ी:
अमान्यApnsCredential |
किसी Apple डिवाइस को टारगेट करने वाला मैसेज नहीं भेजा जा सका, क्योंकि ज़रूरी एपीएन पुष्टि कुंजी अपलोड नहीं हुई या उसकी समयसीमा खत्म हो गई है. देखें कि आपके डेवलपमेंट और प्रोडक्शन क्रेडेंशियल मान्य हैं या नहीं. |
डिवाइस ग्रुप मैनेजमेंट
नीचे दी गई टेबल में डिवाइस ग्रुप बनाने के साथ-साथ सदस्यों को जोड़ने और हटाने के लिए कुंजियां दी गई हैं. ज़्यादा जानकारी के लिए, अपने प्लैटफ़ॉर्म, iOS+ या Android से जुड़ी गाइड देखें.
पैरामीटर | इस्तेमाल किए जाने से जुड़ी जानकारी | जानकारी |
---|---|---|
operation |
ज़रूरी स्ट्रिंग | चलाने के लिए मान्य वैल्यू.ये वैल्यू create , add , और remove हैं. |
notification_key_name |
ज़रूरी स्ट्रिंग | डिवाइस ग्रुप बनाने या उसमें बदलाव करने के लिए, उपयोगकर्ता का तय किया गया नाम. |
notification_key |
ज़रूरी है (create ऑपरेशन, स्ट्रिंग को छोड़कर |
डिवाइस ग्रुप का यूनीक आइडेंटिफ़ायर. यह वैल्यू,
create की सही कार्रवाई के रिस्पॉन्स में मिलती है.
इसकी मदद से, डिवाइस ग्रुप पर बाद में की जाने वाली सभी कार्रवाइयों के लिए इसकी ज़रूरत पड़ती है. |
registration_ids |
स्ट्रिंग का कलेक्शन ज़रूरी है | जोड़ने या हटाने के लिए, डिवाइस के टोकन. अगर किसी डिवाइस ग्रुप से सभी मौजूदा रजिस्ट्रेशन टोकन हटाए जाते हैं, तो FCM डिवाइस ग्रुप को मिटा देता है. |