সার্ভার বাস্তবায়ন ঐচ্ছিক। আপনি যদি এই ক্রিয়াকলাপগুলি সম্পাদন করতে চান তবে ইনস্ট্যান্স আইডি পরিষেবাটি ব্যবহার করুন:
- অ্যাপ ইনস্ট্যান্স সম্পর্কে তথ্য পান । অ্যাপ টোকেন যাচাই করুন অথবা টোকেন তৈরি করা অ্যাপ ইনস্ট্যান্স সম্পর্কে আরও তথ্য পান।
- অ্যাপ ইনস্ট্যান্সের জন্য সম্পর্ক মানচিত্র তৈরি করুন । অ্যাপ ইনস্ট্যান্স এবং সত্তার মধ্যে সম্পর্ক তৈরি করুন।
- APN টোকেনের জন্য নিবন্ধন টোকেন তৈরি করুন । এই API আপনাকে বিদ্যমান APN টোকেনগুলিকে প্রচুর পরিমাণে আমদানি করতে দেয়, FCM-এর জন্য বৈধ নিবন্ধন টোকেনের সাথে ম্যাপ করে।
অ্যাপের উদাহরণ সম্পর্কে তথ্য পান
একটি অ্যাপ ইনস্ট্যান্স সম্পর্কে তথ্য পেতে, এই এন্ডপয়েন্টে ইনস্ট্যান্স আইডি পরিষেবাতে কল করুন, অ্যাপ ইনস্ট্যান্সের টোকেনটি যেমন দেখানো হয়েছে তেমন প্রদান করুন:
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- 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"}
}
}
}
অ্যাপের উদাহরণের জন্য সম্পর্কের মানচিত্র তৈরি করুন
ইনস্ট্যান্স আইডি API আপনাকে অ্যাপ ইনস্ট্যান্সের জন্য সম্পর্ক মানচিত্র তৈরি করতে দেয়। উদাহরণস্বরূপ, আপনি একটি 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। হেডারে এই প্যারামিটারটি সেট করুন।
ফলাফল
সফল হলে কলটি 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 কলে 1000টি পর্যন্ত অ্যাপ ইনস্ট্যান্স আপডেট করতে, এই এন্ডপয়েন্টে ইনস্ট্যান্স আইডি পরিষেবাতে কল করুন, 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 ফেরত পাঠানো হবে। খালি ফলাফল টোকেনের জন্য সফল সাবস্ক্রিপশন নির্দেশ করে। ব্যর্থ সাবস্ক্রিপশনের ক্ষেত্রে, ফলাফলে নিম্নলিখিত ত্রুটি কোডগুলির মধ্যে একটি রয়েছে:
- NOT_FOUND — নিবন্ধন টোকেনটি মুছে ফেলা হয়েছে অথবা অ্যাপটি আনইনস্টল করা হয়েছে।
- INVALID_ARGUMENT — প্রদত্ত নিবন্ধন টোকেনটি প্রেরক আইডির জন্য বৈধ নয়।
- অভ্যন্তরীণ — অজানা কারণে ব্যাকএন্ড সার্ভারটি ব্যর্থ হয়েছে। অনুরোধটি পুনরায় চেষ্টা করুন।
- 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"},
{},
]
}
APN টোকেনের জন্য নিবন্ধন টোকেন তৈরি করুন
ইনস্ট্যান্স আইডি সার্ভিসের batchImport পদ্ধতি ব্যবহার করে, আপনি বিদ্যমান iOS APN টোকেনগুলিকে ফায়ারবেস ক্লাউড মেসেজিং-এ বাল্ক ইম্পোর্ট করতে পারেন, বৈধ রেজিস্ট্রেশন টোকেনগুলিতে ম্যাপিং করতে পারেন। এই এন্ডপয়েন্টে ইনস্ট্যান্স আইডি পরিষেবাতে কল করুন, JSON বডিতে APN টোকেনগুলির একটি তালিকা প্রদান করুন:
https://iid.googleapis.com/iid/v1:batchImport
রেসপন্স বডিতে ইনস্ট্যান্স আইডি রেজিস্ট্রেশন টোকেনের একটি অ্যারে রয়েছে যা সংশ্লিষ্ট APN ডিভাইস টোকেনে FCM বার্তা পাঠানোর জন্য ব্যবহারের জন্য প্রস্তুত।
পরামিতি
-
Authorization: Bearer <access_token>। হেডারে এই প্যারামিটারটি সেট করুন।Authorizationহেডারের মান হিসেবে একটি স্বল্পস্থায়ী OAuth2 টোকেন যোগ করুন। এই টোকেনটি পাওয়ার বিষয়ে আরও তথ্যের জন্য, ম্যানুয়ালি শংসাপত্র প্রদান করুন দেখুন। -
access_token_auth: true। হেডারে এই প্যারামিটারটি সেট করুন। -
application: অ্যাপের বান্ডেল আইডি। -
sandbox: স্যান্ডবক্স পরিবেশ (সত্য) বা উৎপাদন (মিথ্যা) নির্দেশ করার জন্য বুলিয়ান -
apns_tokens: আপনি যে অ্যাপের উদাহরণগুলি যোগ করতে বা সরাতে চান তার জন্য APN টোকেনের অ্যারে। প্রতি অনুরোধে সর্বোচ্চ ১০০টি টোকেন।
ফলাফল
কল সফল হলে HTTP স্ট্যাটাস 200 এবং একটি JSON ফলাফল বডি ফেরত পাঠায়। অনুরোধে প্রদত্ত প্রতিটি APN টোকেনের জন্য, ফলাফল তালিকায় অন্তর্ভুক্ত থাকে:
- APN টোকেন।
- স্থিতি। হয় ঠিক আছে, অথবা ব্যর্থতার বর্ণনা দিয়ে একটি ত্রুটি বার্তা।
- সফল ফলাফলের জন্য, FCM দ্বারা তৈরি রেজিস্ট্রেশন টোকেনটি APN টোকেনের সাথে সংযুক্ত করুন।
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"
},
]
}
ত্রুটির প্রতিক্রিয়া
ইনস্ট্যান্স আইডি সার্ভার API-তে কল করলে নিম্নলিখিত 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)- পরিষেবা অনুপলব্ধ। সূচকীয় ব্যাকঅফ দিয়ে অনুরোধটি পুনরায় চেষ্টা করুন।