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

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

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

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

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

पैरामीटर

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

नतीजे

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

  • application - टोकन से जुड़ा पैकेज का नाम.
  • authorizedEntity - ProjectId को टोकन में भेजने की अनुमति दी गई है.
  • applicationVersion - ऐप्लिकेशन का वर्शन.
  • 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",
  "rel":{
    "topics":{
      "topicname1":{"addDate":"2015-07-30"},
      "topicname2":{"addDate":"2015-07-30"},
      "topicname3":{"addDate":"2015-07-30"},
      "topicname4":{"addDate":"2015-07-30"}
    }
  }
}

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

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

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

रजिस्ट्रेशन टोकन और काम करने वाले रिलेशनशिप के आधार पर, आपके पास मैपिंग. उदाहरण के लिए, आपके पास 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 : ऐप्लिकेशन के उन इंस्टेंस के लिए IID टोकन का कलेक्शन जिन्हें जोड़ना या हटाना है.

नतीजे

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

  • NOT_FOUND — रजिस्ट्रेशन टोकन मिटा दिया गया है या ऐप्लिकेशन को अनइंस्टॉल कर दिया गया है.
  • INVALID_ अंदर — दिया गया रजिस्ट्रेशन टोकन, भेजने वाले के आईडी के लिए मान्य नहीं है.
  • अंदरूनी — बैकएंड सर्वर कुछ इस तरह से काम नहीं कर सका जिसके बारे में जानकारी नहीं है. फिर से अनुरोध करें.
  • 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 गड़बड़ी कोड:

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