আপনার অ্যাপ্লিকেশানে প্লে গেম পরিষেবা রিকলকে একীভূত করুন৷

আপনার নিজস্ব অ্যাকাউন্ট সিস্টেম ব্যবহার করা অব্যাহত রেখেই ব্যবহারকারীদের নির্বিঘ্নে আপনার গেমে সাইন ইন করান। প্লে গেমস সার্ভিসেস রিকল এপিআই (Play Games Services Recall APIs) ব্যবহার করে আপনি ইন-গেম অ্যাকাউন্টগুলোকে একটি গুগল প্লে গেমস সার্ভিসেস অ্যাকাউন্টের সাথে লিঙ্ক করতে পারেন। এরপর, যখন কোনো ব্যবহারকারী বিভিন্ন ডিভাইসে (অথবা আপনার গেমটি পুনরায় ইনস্টল করার পর একই ডিভাইসে) আপনার গেমটি খেলে, তখন আপনি লিঙ্ক করা ইন-গেম অ্যাকাউন্টটি থেকে তথ্য সংগ্রহ করে সাইন-ইন প্রক্রিয়াটিকে আরও সহজ করে তুলতে পারেন।

আপনি যদি অ্যান্ড্রয়েড রিকল এপিআই (Recall APIs) ইন্টিগ্রেট করে থাকেন, তবে এই রিকল এপিআইগুলো আপনার কাছে পরিচিত মনে হবে। প্লে গেমস সার্ভিসেস রিকল (Play Games Services Rickl)-এর সাথে করা যেকোনো সার্ভার-সাইড ইন্টিগ্রেশন পিসি গেমগুলোতেও পুনরায় ব্যবহার করা যেতে পারে, কারণ সেগুলো অ্যান্ড্রয়েড এবং পিসি উভয় প্ল্যাটফর্মেই একই রকম।

পূর্বশর্ত

ধাপ ১ : ম্যানিফেস্টে আপনার প্লে গেমস সার্ভিসেস প্রজেক্ট আইডি যোগ করুন।

প্লে কনসোলে প্লে গেমস সার্ভিসেস সেটআপ সম্পন্ন করার পর, আপনার গেমের সাথে এখন একটি প্লে গেমস সার্ভিসেস প্রজেক্ট আইডি যুক্ত থাকবে। প্লে কনসোলের প্লে গেমস সার্ভিসেস-এর কনফিগারেশন পেজে এই প্রজেক্ট আইডিটি খুঁজে পাওয়া যাবে এবং এটি ব্যবহার করে আপনার গেমের manifest.xml আপডেট করুন।

manifest.xml ফাইলের বিষয়বস্তুর উদাহরণ:

<?xml version="1.0" encoding="utf-8"?>
<?Manifest version="1">
   <?Application>
     <?PackageName>com.example.package<?/PackageName>
     <?PlayGamesServices>
          <?ProjectId>123456789<?/ProjectId>
     <?/PlayGamesServices>
   <?/Application>
<?/Manifest>

ধাপ ২ : সাইন-ইন করার সময় রিকল অ্যাক্সেসের জন্য অনুরোধ করুন

যখন আপনার গেম কোনো সাইন-ইন প্রক্রিয়া পরিচালনা করে, যেমন একটি ইন-গেম অ্যাকাউন্ট যোগ করা, তখন GamesRecallClient::RequestRecallAccess() ব্যবহার করে রিকল অ্যাক্সেসের জন্য অনুরোধ করুন।

এই কলটি একটি সেশন আইডি ফেরত দেয়, যা আপনার ব্যাকএন্ড ব্যবহার করে গুগল-কে সার্ভার-সাইড কল করার মাধ্যমে একজন প্লে গেমস সার্ভিসেস ব্যবহারকারীর সাথে আপনার ইন-গেম অ্যাকাউন্টগুলো লিঙ্ক ও আনলিঙ্ক করে।

auto promise = std::make_shared<std::promise<RecallAccessResult>>();
games_recall_client.RequestRecallAccess(params, [promise](RecallAccessResult result) {
   promise->set_value(std::move(result));
});

auto recall_access_result = promise->get_future().get();
if (recall_access_result.ok()) {
   auto recall_session_id = recall_access_result.value().recall_session_id;
   // Pass the recall session ID to your backend game server so it can query
   // for an existing linked in-game account.
   // - If you discover an existing linked in-game account, continue to sign-in
   //   the in-game account. This provides a seamless cross-device sign-in
   //   experience.
   // - If there is not an existing linked in-game account, when the user
   //   completes the sign-in using your in-game account system record the
   //   account linking with Play Games Services Recall. This helps to provide
   //   a seamless cross-device sign-in experience when the user returns on a
   //   different device or after re-installing your game on the same device.
} else {
   // Handle the error
}

ধাপ ৩ : রিকল সেশন আইডি প্রক্রিয়া করুন

একবার আপনার গেমটি রিকল সেশন আইডি পেয়ে গেলে এবং সেটি আপনার ব্যাকএন্ড গেম সার্ভারে পাঠিয়ে দিলে, প্লে গেমস সার্ভার-সাইড REST API ব্যবহার করে নিম্নলিখিত কাজগুলো করুন:

  • recall.retrieveTokens ব্যবহার করে বিদ্যমান লিঙ্ক করা ইন-গেম অ্যাকাউন্টগুলির জন্য অনুসন্ধান করা হচ্ছে
  • recall.linkPersona ব্যবহার করে গেমের ভেতরের লিঙ্ক করা অ্যাকাউন্টগুলো যোগ বা আপডেট করুন।
  • recall.unlinkPersona ব্যবহার করে লিঙ্ক করা ইন-গেম অ্যাকাউন্টগুলি মুছে ফেলুন।

সার্ভার-সাইড ইন্টিগ্রেশন সম্পর্কে আরও বিস্তারিত নির্দেশিকার জন্য, আপনার গেম সার্ভারে রিকল এপিআই (Recall API) কীভাবে ব্যবহার করবেন সে সম্পর্কিত ডকুমেন্টেশনটি দেখুন।