রিকল এপিআই আপনাকে গুগল প্লে গেমস সার্ভিসেস ব্যবহারকারীদের তাদের ইন-গেম অ্যাকাউন্টের সাথে নির্বিঘ্নে লিঙ্ক করতে সাহায্য করে, যা স্বয়ংক্রিয়ভাবে অগ্রগতি পুনরুদ্ধার সক্ষম করে। আপনি গেম সার্ভারে রিকল টোকেন সংরক্ষণ করেন, যা এই টোকেনগুলিকে একজন ব্যবহারকারীর গুগল প্লে গেমস সার্ভিসেস প্রোফাইলের সাথে যুক্ত করে। রিকল এপিআই ব্যবহার করা ঐচ্ছিক এবং আপনার নিজস্ব শক্তিশালী আইডেন্টিটি ব্যাকএন্ড না থাকলে নির্বিঘ্ন পুনরুদ্ধার বাস্তবায়নের জন্য এটিই প্রস্তাবিত পদ্ধতি।
পরিভাষা
এই নথিতে নিম্নলিখিত পরিভাষা ব্যবহার করা হয়েছে:
রিকল টোকেন : গেম সার্ভারে সংরক্ষিত একটি সুরক্ষিত চাবি যা একজন খেলোয়াড়ের প্লে গেমস সার্ভিসেস অ্যাকাউন্ট এবং তার ইন-গেম অ্যাকাউন্টের মধ্যে সংযোগ স্থাপনকারী হিসেবে কাজ করে।
সেশন আইডি : প্লেয়ারের ডিভাইসে প্লে গেমস সার্ভিসেস এসডিকে দ্বারা তৈরি একটি অস্থায়ী, অনন্য শনাক্তকারী। এটি নির্দেশ করে যে আপনার ব্যাকএন্ড সার্ভার দ্বারা করা অনুরোধটি প্লেয়ারের ডিভাইসে থাকা একটি বৈধ, সক্রিয় গেম সেশন থেকে উদ্ভূত হয়েছে।
নমুনা দৃশ্যকল্প
রিকল এপিআই কীভাবে ব্যবহার করা যেতে পারে তার কিছু নমুনা পরিস্থিতি নিচে দেওয়া হলো:
একজন ব্যবহারকারী এমন একটি গেম খেলছেন, যেখানে ডেভেলপারের কাছে ব্যবহারকারীর অগ্রগতি ট্র্যাক করার জন্য একটি আইডেন্টিটি সিস্টেম রয়েছে এবং ব্যবহারকারীদের গেমে লগ ইন করানোর জন্য অন্যান্য অথেনটিকেশন পদ্ধতির পাশাপাশি পিজিএস (PGS) ব্যবহার করা হয়। এই উদাহরণে, একজন ব্যবহারকারী তার পিজিএস অ্যাকাউন্ট ‘Laura’- তে লগ ইন করেছেন এবং ডেভেলপারের আইডেন্টিটি সিস্টেম ব্যবহার করে ‘Racer94’ নামে একটি ইন-গেম অ্যাকাউন্ট তৈরি করেছেন। ব্যবহারকারী যখন গেমটি খেলেন, তখন ডেভেলপারের গেম সার্ভার তার অগ্রগতি সিঙ্ক করে।

এর পাশাপাশি, ডেভেলপার গুগলের কাছে একটি রিকল টোকেন সংরক্ষণ করে, যা ব্যবহারকারীর ইন-গেম অ্যাকাউন্টের সাথে সংযুক্ত থাকে। গুগল স্বয়ংক্রিয়ভাবে সেই রিকল টোকেনটি ব্যবহারকারীর পিজিএস প্রোফাইলে সংরক্ষণ করে।

ব্যবহারকারী এখন প্রথমবারের মতো পিসিতে জিপিজি -তে গেমটি খেলার সিদ্ধান্ত নেন। ব্যবহারকারী স্বয়ংক্রিয়ভাবে তার পিজিএস অ্যাকাউন্টের মাধ্যমে প্রমাণীকৃত হন, এবং গেম ক্লায়েন্ট এই পিজিএস ব্যবহারকারীর জন্য কোনো অগ্রগতি উপলব্ধ আছে কিনা তা পরীক্ষা করে দেখে। এরপর গেম সার্ভার এই পিজিএস অ্যাকাউন্টের জন্য কোনো টোকেন আছে কিনা তা দেখতে গুগলকে জিজ্ঞাসা করে। যেহেতু টোকেন থাকে, গুগল রিকল টোকেনটি ফেরত পাঠায়, এবং গেম সার্ভার সেই টোকেনটি ব্যবহার করে ব্যবহারকারীর সংশ্লিষ্ট অ্যাকাউন্ট Racer94 খুঁজে বের করে এবং তার অগ্রগতি পুনরুদ্ধার করে। যেহেতু পিজিএস-এর মাধ্যমে প্রমাণীকরণ একটি ঝামেলাহীন অভিজ্ঞতা, তাই ব্যবহারকারীকে ইউজারনেম বা পাসওয়ার্ড প্রবেশ করানোর প্রয়োজন ছাড়াই অ্যাপটি তার অগ্রগতি পুনরুদ্ধার করে দেয়। উপরন্তু, ডেভেলপার তাদের বিদ্যমান পরিচয় ব্যবস্থার সাথে পিজিএস প্রমাণীকরণ ব্যবহার করতে পারেন এবং খেলোয়াড়ের অগ্রগতি ও তার পিজিএস অ্যাকাউন্টের মধ্যে সংযোগটি সংরক্ষণ করার জন্য গুগলের উপর নির্ভর করতে পারেন।

পূর্বের উদাহরণে যেমন দেখা গেছে, রিকল এপিআই (Recall API) দ্বারা দুটি প্রধান কাজ সম্পাদন করা হয়:
যখন কোনো ব্যবহারকারী গেমের ভেতরের কোনো একটি অ্যাকাউন্ট দিয়ে লগ ইন করেন, তখন টোকেনটি গুগলের কাছে সংরক্ষণ করা হয় ।
কোনো ব্যবহারকারীর ইন-গেম অ্যাকাউন্ট পুনরুদ্ধার করার জন্য তার টোকেনটি সংগ্রহ করা হচ্ছে ।
রিকল টোকেন ছাড়াও, রিকল এপিআই-এর জন্য ইন-গেম অ্যাকাউন্টের সাথে সঙ্গতিপূর্ণ একটি স্থিতিশীল শনাক্তকারী প্রয়োজন, যা পার্সোনা নামে পরিচিত। আপনি পার্সোনাকে একটি লেবেল হিসেবে ভাবতে পারেন, যা ডেভেলপারের আইডেন্টিটি সিস্টেমের মধ্যে ব্যবহারকারীর ইন-গেম অ্যাকাউন্টকে প্রতিনিধিত্ব করে, এবং রিকল টোকেনকে একটি চাবি হিসেবে ভাবতে পারেন, যা ব্যবহারকারীর ইন-গেম অ্যাকাউন্টকে গেমে পুনরুদ্ধার করতে ব্যবহৃত হয়। বিভিন্ন পিজিএস প্রজেক্টে পার্সোনা এবং টোকেনের মান পুনরায় ব্যবহার করা যাবে না। এছাড়াও, রিকল টোকেন সময়ের সাথে সাথে পরিবর্তিত হতে পারে, কিন্তু একটি পার্সোনা ব্যবহারকারীর ইন-গেম অ্যাকাউন্ট অনুযায়ী স্থিতিশীল থাকা উচিত।
রিকল টোকেন সংরক্ষণ এবং পুনরুদ্ধারের প্রযুক্তিগত প্রবাহ
এই বিভাগে রিকল টোকেন সংরক্ষণ এবং পুনরুদ্ধার করার সময় গেম ক্লায়েন্ট ও গুগল সার্ভারের মধ্যকার প্রযুক্তিগত প্রবাহ নিয়ে আলোচনা করা হয়েছে।
ধাপ ১: পিজিএস ব্যবহারকারীকে প্রমাণীকরণ করুন এবং সেশন আইডি পুনরুদ্ধার করুন।
গেমটি পিজিএস এসডিকে চালু করে এবং পিজিএস-এর মাধ্যমে ব্যবহারকারীকে প্রমাণীকরণের চেষ্টা করে।

ব্যবহারকারী প্রমাণীকৃত হলে, গেম ক্লায়েন্টে গেমস এসডিকে (Games SDK) থেকে একটি সেশন আইডি এবং গুগলের ওঅথ ব্যাকএন্ড (Google's OAuth backend) থেকে একটি ওঅথ ২.০ টোকেন অনুরোধ করুন। সেশন আইডি এবং ওঅথ ২.০ টোকেনগুলো গুগল গেমস ব্যাকএন্ডের সাথে যোগাযোগের জন্য ব্যবহৃত হয়।

ধাপ ২: যেকোনো উপলব্ধ রিকল টোকেন পুনরুদ্ধার করুন।
PGS ব্যবহারকারীর অ্যাকাউন্টের সাথে যুক্ত যেকোনো রিকল টোকেনের জন্য অনুরোধ করুন। যদি একটি টোকেন উপস্থিত থাকে, তাহলে ধাপ 3a-তে যান এবং অগ্রগতি পুনরুদ্ধার করুন । অন্যথায়, যদি ইনি একজন নতুন ব্যবহারকারী হন এবং তার কোনো টোকেন উপস্থিত না থাকে, তাহলে ধাপ 3b-তে যান এবং একটি নতুন টোকেন সংরক্ষণ করুন ।

ধাপ ৩ক: টোকেন উপস্থিত থাকলে, অগ্রগতি পুনরুদ্ধার করুন।
যদি কোনো টোকেন উপস্থিত থাকে, তবে টোকেনটি পুনরুদ্ধার ও ডিক্রিপ্ট করুন এবং ব্যবহারকারীর ডেটা পুনরুদ্ধার করুন।

ধাপ ৩খ: যদি কোনো টোকেন উপস্থিত না থাকে, তাহলে একটি টোকেন সংরক্ষণ করুন।
যেহেতু কোনো টোকেন উপস্থিত নেই, তাই কোনো অগ্রগতি পুনরুদ্ধার করা হয় না। ব্যবহারকারী ডেভেলপারের আইডেন্টিটি সিস্টেম ব্যবহার করে প্ল্যাটফর্ম অথেনটিকেশনের জন্য অগ্রসর হন, অথবা অ্যাকাউন্ট না থাকলে একটি নতুন অ্যাকাউন্ট তৈরি করেন। উল্লেখ্য - এটি PGS-এর মাধ্যমে অথেনটিকেশন নয় (যা ইতোমধ্যে সম্পন্ন হয়েছে), বরং PGS-এর বাইরে ডেভেলপারের আইডেন্টিটি সিস্টেমের মাধ্যমে অথেনটিকেশন।

ব্যবহারকারীর ইন-গেম অ্যাকাউন্টকে এনকোড করে একটি এনক্রিপ্টেড রিকল টোকেন তৈরি করুন এবং সেশন আইডি ও OAuth 2.0 টোকেনের সাথে সেটি গুগলে পাঠান। এই পর্যায়ে, গুগল পাঠানো রিকল টোকেন এবং প্লেয়ারের PGS অ্যাকাউন্টের মধ্যে একটি সংযোগ স্থাপন করে।

PGS প্রোফাইলবিহীন ব্যবহারকারীদের জন্য প্রবাহ
আপনি প্রোফাইলবিহীন মোড ব্যবহার করে এমন একজন ব্যবহারকারীর জন্য রিকল টোকেন সংরক্ষণ করতে পারেন যিনি এখনও পিজিএস প্রোফাইল তৈরি করেননি। তবে, দুটি গুরুত্বপূর্ণ বিষয় মনে রাখতে হবে:
- যার পিজিএস প্রোফাইল নেই, তার জন্য আপনি টোকেন পুনরুদ্ধার করতে পারবেন না। ব্যবহারকারী যখন দ্বিতীয় কোনো ডিভাইসে প্লে গেমস সার্ভিসেস ব্যবহার করে আপনার গেমে লগ ইন করার চেষ্টা করেন, তখন স্বয়ংক্রিয়ভাবে প্রোফাইল তৈরির জন্য অনুরোধ জানানো হয়।
- নিম্নলিখিত বিষয়গুলো বর্ণনা করে একটি যথাযথ বিজ্ঞপ্তি তৈরি করা এবং ব্যবহারকারীর যথাযথ সম্মতি গ্রহণ নিশ্চিত করার জন্য আপনাকে অবশ্যই অতিরিক্ত নির্দেশিকা অনুসরণ করতে হবে:
- প্লে গেমস অ্যাকাউন্ট লিঙ্কিং ফিচারটি চালু করার জন্য আপনার গুগলের সাথে ডেটা শেয়ার করা।
- এই শেয়ারিং পরিচালনা করার জন্য সেটিংসের উপলব্ধতা, যেমন প্লে গেমস সেটিংস।
- গুগলের গোপনীয়তা নীতিমালার অধীনে এই ধরনের ডেটার প্রক্রিয়াকরণ।
একটি টোকেন এবং পার্সোনা জোড়া সংরক্ষণ করুন

- যার পিজিএস প্রোফাইল নেই, এমন একজন ব্যবহারকারী এমন একটি গেম খোলেন যেটিতে প্রোফাইলবিহীন রিকল সক্রিয় করা আছে।
- গেমস এসডিকে একটি স্বয়ংক্রিয় প্ল্যাটফর্ম প্রমাণীকরণ চালু করে, যা ব্যর্থ হয় কারণ ব্যবহারকারীর কোনো পিজিএস প্রোফাইল নেই।
- গেমস এসডিকে একটি স্নাকবার প্রদর্শন করে, যা ব্যবহারকারীকে জানায় যে গেমটি গুগলের সাথে ইন্টিগ্রেটেড। এই স্নাকবারটি অ্যাকশনেবল—ব্যবহারকারী একটি প্রোফাইল তৈরি না হওয়া পর্যন্ত রিকল নিষ্ক্রিয় করতে পারেন।
- গেমটি রিকল অ্যাক্সেসের অনুরোধ করছে। উল্লেখ্য যে, ডিভাইসে পিজিএস প্রোফাইল থাকলে অথবা কোনো গুগল অ্যাকাউন্ট না থাকলে পিজিএস রিকল অ্যাক্সেসের অনুরোধ প্রত্যাখ্যান করে। সেক্ষেত্রে, পিজিএস ব্যবহার না করেই গেমটি চলতে থাকবে।
- ব্যবহারকারী একটি ইন-গেম অ্যাকাউন্ট দিয়ে লগ ইন করার পর, গেমটি তার জন্য একটি টোকেন ও পার্সোনা জোড়া তৈরি করে যা তার ইন-গেম অ্যাকাউন্টের সাথে সঙ্গতিপূর্ণ। গেমটি এই জোড়াটি গুগলের কাছে সংরক্ষণ করে। ব্যবহারকারী যদি পরবর্তীতে অন্য ইন-গেম অ্যাকাউন্টে লগ ইন করেন, তবে গেমটি আরও টোকেন সংরক্ষণ করতে পারে।
একটি নতুন ডিভাইসে একটি গেম চালু করুন
- পিজিএস প্রোফাইলবিহীন কোনো ব্যবহারকারী এমন একটি ডিভাইসে গেম খোলেন, যেটিতে প্রোফাইলবিহীন রিকল সক্রিয় করা আছে।
- গেমটি 'একটি টোকেন এবং পার্সোনা জোড়া সংরক্ষণ করুন' অংশে বর্ণিত পদ্ধতি অনুযায়ী একটি প্রোফাইলবিহীন রিকল টোকেন রেকর্ড করে।
- ব্যবহারকারী একই অ্যাকাউন্ট সেটআপ করা একটি ভিন্ন ডিভাইসে একই গেমটি খোলে।
- গেমস এসডিকে প্রোফাইল তৈরির প্রক্রিয়া শুরু করে। ব্যবহারকারী পূর্বে সংরক্ষিত রিকল টোকেনগুলো পর্যালোচনা ও বাতিল করতে পারেন। এই সময়ে ব্যবহারকারী একটি পিজিএস প্রোফাইল তৈরি করেন।
- PGS-এ স্বয়ংক্রিয় প্ল্যাটফর্ম প্রমাণীকরণ সম্পন্ন হয় এবং গেমটি প্রমাণীকৃত অবস্থা লাভ করে।
- গেমটি যথারীতি ব্যবহারকারীর জন্য রিকল টোকেন সংগ্রহ করে।
পরবর্তী পদক্ষেপ
আপনার ক্লায়েন্ট ও গেম সার্ভারের সাথে রিকল এপিআই (Recall API) সংযুক্ত করতে এই নির্দেশিকা অনুসরণ করুন ।