सर्वर रेफ़रंस

सर्वर लागू करना ज़रूरी नहीं है. अगर आपको ये कार्रवाइयां करनी हैं, तो इंस्टेंस आईडी सेवा का इस्तेमाल करें:

ऐप्लिकेशन इंस्टेंस के बारे में जानकारी पाना

किसी ऐप्लिकेशन इंस्टेंस के बारे में जानकारी पाने के लिए, इस एंडपॉइंट पर इंस्टेंस आईडी सेवा को कॉल करें. साथ ही, ऐप्लिकेशन इंस्टेंस का टोकन दें, जैसा कि यहां दिखाया गया है:

 https://iid.googleapis.com/iid/info/IID_TOKEN

पैरामीटर

  • Authorization: Bearer <access_token>. इस पैरामीटर को हेडर में सेट करें. Authorization हेडर की वैल्यू के तौर पर, कुछ समय तक काम करने वाला OAuth2 टोकन जोड़ें. इस टोकन को पाने के बारे में ज़्यादा जानकारी के लिए, मैन्युअल तरीके से क्रेडेंशियल दें देखें.
  • access_token_auth: true. इस पैरामीटर को हेडर में सेट करें.
  • [ज़रूरी नहीं] बूलियन details: इस क्वेरी पैरामीटर को true पर सेट करें, ताकि इस टोकन से जुड़े FCM विषय की सदस्यता की जानकारी (अगर कोई हो) पाने के लिए ऐसा किया जा सके. अगर कोई वैल्यू तय नहीं की गई है, तो डिफ़ॉल्ट रूप से false होता है.

नतीजे

कॉल पूरा होने पर, एचटीटीपी स्टेटस 200 और JSON ऑब्जेक्ट दिखाता है, जिसमें ये चीज़ें शामिल होती हैं:

  • application - टोकन से जुड़े पैकेज का नाम.
  • authorizedEntity - ProjectId को, टोकन में भेजने की अनुमति है.
  • applicationVersion - ऐप्लिकेशन का वर्शन.
  • appSigner - sha1 पैकेज पर लागू किए गए हस्ताक्षर के लिए फ़िंगरप्रिंट. इससे पता चलता है कि किस पक्ष ने ऐप्लिकेशन पर हस्ताक्षर किया है. उदाहरण के लिए,Play Store.
  • platform - यह बताता है कि टोकन किस डिवाइस प्लैटफ़ॉर्म से जुड़ा है. इसके लिए, ANDROID, IOS या CHROME दिखता है.

अगर details फ़्लैग सेट है:

  • rel - टोकन से जुड़े संबंध. उदाहरण के लिए, विषय की सदस्यताओं की सूची.

GET अनुरोध का उदाहरण

https://iid.googleapis.com/iid/info/nKctODamlM4:CKrh_PC8kIb7O...clJONHoA
Content-Type:application/json
Authorization: Bearer ya29.ElqKBGN2Ri_Uz...HnS_uNreA
access_token_auth: true

उदाहरण के तौर पर नतीजा

HTTP 200 OK
{
  "application":"com.iid.example",
  "authorizedEntity":"123456782354",
  "platform":"Android",
  "appSigner":"1a2bc3d4e5"
  "rel":{
    "topics":{
      "topicname1":{"addDate":"2015-07-30"},
      "topicname2":{"addDate":"2015-07-30"},
      "topicname3":{"addDate":"2015-07-30"},
      "topicname4":{"addDate":"2015-07-30"}
    }
  }
}

ऐप्लिकेशन इंस्टेंस के लिए संबंध मैप बनाएं

इंस्टेंस आईडी एपीआई की मदद से, ऐप्लिकेशन इंस्टेंस के लिए रिलेशनशिप मैप बनाए जा सकते हैं. उदाहरण के लिए, ऐप्लिकेशन इंस्टेंस की सदस्यता लेते हुए, किसी FCM विषय पर रजिस्ट्रेशन टोकन को मैप किया जा सकता है. एपीआई ऐसे संबंध बनाने के तरीके उपलब्ध कराता है.

किसी ऐप्लिकेशन इंस्टेंस के लिए रिलेशन मैपिंग बनाना

रजिस्ट्रेशन टोकन और काम करने वाले संबंध को देखते हुए, आपके पास मैपिंग बनाने का विकल्प होता है. उदाहरण के लिए, किसी FCM विषय पर ऐप्लिकेशन इंस्टेंस की सदस्यता लेने के लिए, इस एंडपॉइंट पर इंस्टेंस आईडी सेवा को कॉल किया जा सकता है. साथ ही, नीचे बताए गए तरीके से ऐप्लिकेशन इंस्टेंस का टोकन दिया जा सकता है:

 https://iid.googleapis.com/iid/v1/IID_TOKEN/rel/topics/TOPIC_NAME

पैरामीटर

  • Authorization: Bearer <access_token>. इस पैरामीटर को हेडर में सेट करें. Authorization हेडर की वैल्यू के तौर पर, कुछ समय तक काम करने वाला OAuth2 टोकन जोड़ें. इस टोकन को पाने के बारे में ज़्यादा जानकारी के लिए, मैन्युअल तरीके से क्रेडेंशियल दें देखें.
  • access_token_auth: true. इस पैरामीटर को हेडर में सेट करें.

नतीजे

कॉल पूरा होने पर, एचटीटीपी स्टेटस 200 दिखाता है.

POST अनुरोध का उदाहरण

https://iid.googleapis.com/iid/v1/nKctODamlM4:CKrh_PC8kIb7O...clJONHoA/rel/topics/movies
Content-Type:application/json
Content-Length: 0
Authorization: Bearer ya29.ElqKBGN2Ri_Uz...HnS_uNreA
access_token_auth: true

उदाहरण के तौर पर नतीजा

HTTP 200 OK
{}

एक से ज़्यादा ऐप्लिकेशन इंस्टेंस के लिए संबंध मैप मैनेज करना

इंस्टेंस आईडी सेवा के बैच के तरीकों का इस्तेमाल करके, ऐप्लिकेशन इंस्टेंस को एक साथ मैनेज किया जा सकता है. उदाहरण के लिए, किसी FCM विषय में ऐप्लिकेशन इंस्टेंस को एक साथ जोड़ा या हटाया जा सकता है. हर एपीआई कॉल के लिए, ज़्यादा से ज़्यादा 1,000 ऐप्लिकेशन इंस्टेंस अपडेट करने के लिए, इस एंडपॉइंट पर इंस्टेंस आईडी सेवा को कॉल करें. इससे JSON के मुख्य हिस्से में ऐप्लिकेशन इंस्टेंस टोकन दिए जा सकेंगे:

 https://iid.googleapis.com/iid/v1:batchAdd

 https://iid.googleapis.com/iid/v1:batchRemove

पैरामीटर

  • Authorization: Bearer <access_token>. इस पैरामीटर को हेडर में सेट करें. Authorization हेडर की वैल्यू के तौर पर, कुछ समय तक काम करने वाला OAuth2 टोकन जोड़ें. इस टोकन को पाने के बारे में ज़्यादा जानकारी के लिए, मैन्युअल तरीके से क्रेडेंशियल दें देखें.
  • access_token_auth: true. इस पैरामीटर को हेडर में सेट करें.
  • to : विषय का नाम.
  • registration_tokens : आपके पास जो ऐप्लिकेशन इंस्टेंस जोड़ने या हटाने हैं उनके लिए आईआईडी टोकन का कलेक्शन.

नतीजे

कॉल पूरा होने पर, एचटीटीपी स्टेटस 200 दिखाता है. खाली नतीजे दिखाते हैं कि टोकन की सदस्यता सफल रही. पूरी न हो पाने वाली सदस्यताओं के लिए, नतीजे में इनमें से कोई एक गड़बड़ी कोड शामिल होता है:

  • NOT_FOUND — रजिस्ट्रेशन टोकन मिटा दिया गया है या ऐप्लिकेशन को अनइंस्टॉल कर दिया गया है.
  • INVALID_LABEL — दिया गया रजिस्ट्रेशन टोकन, भेजने वाले आईडी के लिए मान्य नहीं है.
  • अंदरूनी — बैकएंड सर्वर किसी अनजान वजह से काम नहीं कर सका. फिर से अनुरोध करें.
  • TOO_MANY_TOPICS — हर ऐप्लिकेशन इंस्टेंस के हिसाब से विषयों की बहुत ज़्यादा संख्या.
  • Resource_EXHAUSTED — कम समय में बहुत ज़्यादा सदस्यताएं या सदस्यता खत्म करने के अनुरोध. एक्सपोनेन्शियल बैकऑफ़ के साथ फिर से कोशिश करें.

POST अनुरोध का उदाहरण

https://iid.googleapis.com/iid/v1:batchAdd
Content-Type:application/json
Authorization: Bearer ya29.ElqKBGN2Ri_Uz...HnS_uNreA
access_token_auth: true
{
   "to": "/topics/movies",
   "registration_tokens": ["nKctODamlM4:CKrh_PC8kIb7O...", "1uoasi24:9jsjwuw...", "798aywu:cba420..."],
}

उदाहरण के तौर पर नतीजा

HTTP 200 OK
{
  "results":[
    {},
    {"error":"NOT_FOUND"},
    {},
  ]
}

एपीएन टोकन के लिए रजिस्ट्रेशन टोकन बनाएं

इंस्टेंस आईडी सेवा के batchImport तरीके का इस्तेमाल करके, मौजूदा iOS एपीएन टोकन को 'Firebase क्लाउड से मैसेज' में एक साथ इंपोर्ट किया जा सकता है. साथ ही, उन्हें मान्य रजिस्ट्रेशन टोकन से मैप किया जा सकता है. JSON के मुख्य हिस्से में एपीएन टोकन की सूची देकर, इस एंडपॉइंट पर इंस्टेंस आईडी सेवा को कॉल करें:

 https://iid.googleapis.com/iid/v1:batchImport

रिस्पॉन्स के मुख्य हिस्से में, इंस्टेंस आईडी रजिस्ट्रेशन टोकन की एक कैटगरी मौजूद होती है. इन टोकन का इस्तेमाल, इनसे जुड़े एपीएन डिवाइस टोकन पर FCM मैसेज भेजने के लिए किया जा सकता है.

पैरामीटर

  • Authorization: Bearer <access_token>. इस पैरामीटर को हेडर में सेट करें. Authorization हेडर की वैल्यू के तौर पर, कुछ समय तक काम करने वाला OAuth2 टोकन जोड़ें. इस टोकन को पाने के बारे में ज़्यादा जानकारी के लिए, मैन्युअल तरीके से क्रेडेंशियल दें देखें.
  • access_token_auth: true. इस पैरामीटर को हेडर में सेट करें.
  • application : ऐप्लिकेशन का बंडल आईडी.
  • sandbox : सैंडबॉक्स एनवायरमेंट (TRUE) या प्रोडक्शन (FALSE) को दिखाने के लिए बूलियन
  • apns_tokens : जिन ऐप्लिकेशन इंस्टेंस को जोड़ना या हटाना है उनके लिए एपीएन टोकन का कलेक्शन. हर अनुरोध के लिए ज़्यादा से ज़्यादा 100 टोकन.

नतीजे

कॉल पूरा होने पर, एचटीटीपी स्टेटस 200 और JSON नतीजे का मुख्य हिस्सा दिखता है. अनुरोध में दिए गए हर एपीएन टोकन के लिए, नतीजों की सूची में ये चीज़ें शामिल होती हैं:

  • एपीएन टोकन.
  • स्थिति चुनें. या तो ठीक है या गड़बड़ी के बारे में जानकारी देने वाला गड़बड़ी का मैसेज.
  • सफल नतीजे पाने के लिए, FCM को एपीएन टोकन से मैप किया जाता है.

POST अनुरोध का उदाहरण

https://iid.googleapis.com/iid/v1:batchImport
Authorization: Bearer ya29.ElqKBGN2Ri_Uz...HnS_uNreA
access_token_auth:true
{
  "application": "com.google.FCMTestApp",
  "sandbox":false,
  "apns_tokens":[
      "368dde283db539abc4a6419b1795b6131194703b816e4f624ffa12",
      "76b39c2b2ceaadee8400b8868c2f45325ab9831c1998ed70859d86"
   ]
}

उदाहरण के तौर पर नतीजा

HTTP 200 OK
{
 "results":[
       {
        "apns_token": "368dde283db539abc4a6419b1795b6131194703b816e4f624ffa12",
         "status": "OK",
         "registration_token":"nKctODamlM4:CKrh_PC8kIb7O...clJONHoA"
       },
       {
         "apns_token": "76b39c2b2ceaadee8400b8868c2f45325ab9831c1998ed70859d86",
         "status":"Internal Server Error"
        },
     ]
  }

गड़बड़ी के जवाब

इंस्टेंस आईडी सर्वर एपीआई पर किए जाने वाले कॉल से ये एचटीटीपी गड़बड़ी कोड मिलते हैं:

  • HTTP status 400 (Bad request) - अनुरोध पैरामीटर मौजूद नहीं हैं या अमान्य हैं. ज़्यादा जानकारी के लिए गड़बड़ी के मैसेज देखें.
  • HTTP status 401 (Unauthorized) - अनुमति देने वाला हेडर अमान्य है.
  • HTTP status 403 (Forbidden) - अनुमति देने वाला हेडर, authorizedEntity से मेल नहीं खाता.
  • HTTP status 404 (Not found) - अमान्य एचटीटीपी पाथ या आईआईडी टोकन नहीं मिला. ज़्यादा जानकारी के लिए गड़बड़ी के मैसेज देखें.
  • HTTP status 503 (Service unavailable) - सेवा उपलब्ध नहीं है. एक्सपोनेन्शियल बैकऑफ़ सुविधा के साथ अनुरोध को फिर से करें.