সার্ভার রেফারেন্স

সার্ভার বাস্তবায়ন ঐচ্ছিক। এই অপারেশনগুলো সম্পাদন করতে চাইলে ইনস্ট্যান্স আইডি পরিষেবাটি ব্যবহার করুন:

অ্যাপ ইনস্ট্যান্স সম্পর্কে তথ্য পান

একটি অ্যাপ ইনস্ট্যান্স সম্পর্কে তথ্য পেতে, দেখানো পদ্ধতি অনুযায়ী অ্যাপ ইনস্ট্যান্সের টোকেনটি প্রদান করে এই এন্ডপয়েন্টে ইনস্ট্যান্স আইডি পরিষেবাটি কল করুন:

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

প্যারামিটার

  • Authorization: Bearer <access_token> । এই প্যারামিটারটি হেডারে সেট করুন। Authorization হেডারের ভ্যালু হিসেবে একটি স্বল্পস্থায়ী OAuth2 টোকেন যোগ করুন। এই টোকেনটি কীভাবে পাবেন সে সম্পর্কে আরও তথ্যের জন্য, "ম্যানুয়ালি ক্রেডেনশিয়াল প্রদান করুন" দেখুন।
  • access_token_auth: true . এই প্যারামিটারটি হেডারে সেট করুন।
  • [ঐচ্ছিক] বুলিয়ান details : এই টোকেনের সাথে যুক্ত FCM টপিক সাবস্ক্রিপশনের তথ্য (যদি থাকে) পেতে এই কোয়েরি প্যারামিটারটি ' true তে সেট করুন। নির্দিষ্ট না করা হলে, ডিফল্টরূপে false থাকে।

ফলাফল

কলটি সফল হলে HTTP স্ট্যাটাস 200 এবং একটি JSON অবজেক্ট ফেরত দেয়, যাতে নিম্নলিখিত বিষয়গুলো থাকে:

  • application - টোকেনের সাথে যুক্ত প্যাকেজের নাম।
  • authorizedEntity - টোকেন পাঠানোর জন্য অনুমোদিত প্রজেক্ট আইডি।
  • 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 টপিকে সাবস্ক্রাইব করতে পারেন:

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

প্যারামিটার

  • Authorization: Bearer <access_token> । এই প্যারামিটারটি হেডারে সেট করুন। Authorization হেডারের ভ্যালু হিসেবে একটি স্বল্পস্থায়ী OAuth2 টোকেন যোগ করুন। এই টোকেনটি কীভাবে পাবেন সে সম্পর্কে আরও তথ্যের জন্য, "ম্যানুয়ালি ক্রেডেনশিয়াল প্রদান করুন" দেখুন।
  • access_token_auth: true . এই প্যারামিটারটি হেডারে সেট করুন।

ফলাফল

কলটি সফল হলে HTTP স্ট্যাটাস 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 টপিকে একসাথে অনেকগুলো অ্যাপ ইনস্ট্যান্স যোগ বা অপসারণ করতে পারেন। প্রতি API কলে ১০০০টি পর্যন্ত অ্যাপ ইনস্ট্যান্স আপডেট করতে, এই এন্ডপয়েন্টে ইনস্ট্যান্স আইডি সার্ভিসটি কল করুন এবং 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 টোকেনের অ্যারে।

ফলাফল

কলটি সফল হলে HTTP স্ট্যাটাস 200 রিটার্ন করে। খালি ফলাফল টোকেনের সফল সাবস্ক্রিপশন নির্দেশ করে। সাবস্ক্রিপশন ব্যর্থ হলে, ফলাফলে এই ত্রুটি কোডগুলির মধ্যে একটি থাকে:

  • পাওয়া যায়নি — রেজিস্ট্রেশন টোকেনটি মুছে ফেলা হয়েছে অথবা অ্যাপটি আনইনস্টল করা হয়েছে।
  • INVALID_ARGUMENT — প্রদত্ত রেজিস্ট্রেশন টোকেনটি প্রেরক আইডির জন্য বৈধ নয়।
  • অভ্যন্তরীণ — অজানা কারণে ব্যাকএন্ড সার্ভারটি ব্যর্থ হয়েছে। অনুরোধটি পুনরায় চেষ্টা করুন।
  • TOO_MANY_TOPICS — প্রতিটি অ্যাপ ইনস্ট্যান্সে অতিরিক্ত সংখ্যক টপিক।
  • রিসোর্স নিঃশেষিত — অল্প সময়ের মধ্যে অনেক বেশি সাবস্ক্রিপশন বা আনসাবস্ক্রিপশন অনুরোধ। এক্সপোনেনশিয়াল ব্যাকঅফ সহ পুনরায় চেষ্টা করুন।

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"},
    {},
  ]
}

APNs টোকেনগুলির জন্য নিবন্ধন টোকেন তৈরি করুন

Instance ID সার্ভিসের batchImport মেথড ব্যবহার করে, আপনি বিদ্যমান iOS APNs টোকেনগুলোকে বৈধ রেজিস্ট্রেশন টোকেনের সাথে ম্যাপ করে Firebase Cloud Messaging-এ বাল্ক ইম্পোর্ট করতে পারেন। JSON বডিতে APNs টোকেনগুলোর একটি তালিকা প্রদান করে এই এন্ডপয়েন্টে Instance ID সার্ভিসটি কল করুন:

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

রেসপন্স বডিতে ইনস্ট্যান্স আইডি রেজিস্ট্রেশন টোকেনগুলির একটি অ্যারে থাকে, যা সংশ্লিষ্ট APNs ডিভাইস টোকেনে FCM মেসেজ পাঠানোর জন্য প্রস্তুত থাকে।

প্যারামিটার

  • Authorization: Bearer <access_token> । এই প্যারামিটারটি হেডারে সেট করুন। Authorization হেডারের ভ্যালু হিসেবে একটি স্বল্পস্থায়ী OAuth2 টোকেন যোগ করুন। এই টোকেনটি কীভাবে পাবেন সে সম্পর্কে আরও তথ্যের জন্য, "ম্যানুয়ালি ক্রেডেনশিয়াল প্রদান করুন" দেখুন।
  • access_token_auth: true . এই প্যারামিটারটি হেডারে সেট করুন।
  • application : অ্যাপটির বান্ডেল আইডি।
  • sandbox : স্যান্ডবক্স পরিবেশ (TRUE) বা প্রোডাকশন (FALSE) নির্দেশ করার জন্য বুলিয়ান।
  • apns_tokens : আপনি যে অ্যাপ ইনস্ট্যান্সগুলো যোগ বা অপসারণ করতে চান, সেগুলোর APNs টোকেনের অ্যারে। প্রতি অনুরোধে সর্বোচ্চ ১০০টি টোকেন।

ফলাফল

সফল হলে কলটি HTTP স্ট্যাটাস 200 এবং একটি JSON ফলাফল বডি ফেরত দেয়। অনুরোধে প্রদত্ত প্রতিটি APNs টোকেনের জন্য, ফলাফলের তালিকায় অন্তর্ভুক্ত থাকে:

  • APNs টোকেন।
  • অবস্থা। হয় OK, অথবা ব্যর্থতার কারণ বর্ণনা করে একটি ত্রুটি বার্তা।
  • সফল ফলাফলের জন্য, রেজিস্ট্রেশন টোকেনটি FCM, APNs টোকেনের সাথে ম্যাপ করে।

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) - অবৈধ HTTP পাথ অথবা IID টোকেন খুঁজে পাওয়া যায়নি। বিস্তারিত তথ্যের জন্য ত্রুটির বার্তাগুলো দেখুন।
  • HTTP status 503 (Service unavailable) - পরিষেবাটি অনুপলব্ধ। এক্সপোনেনশিয়াল ব্যাকঅফ সহ অনুরোধটি পুনরায় চেষ্টা করুন।