Google সাইন-ইন API বন্ধ করার পর, আমরা ২০২৬ সালে গেমস v1 SDK সরিয়ে ফেলছি। ২০২৫ সালের ফেব্রুয়ারির পর, আপনি Google Play তে গেমস v1 SDK-এর সাথে নতুনভাবে সংহত করা শিরোনাম প্রকাশ করতে পারবেন না। আমরা আপনাকে এর পরিবর্তে গেমস v2 SDK ব্যবহার করার পরামর্শ দিচ্ছি।
পূর্ববর্তী গেম v1 ইন্টিগ্রেশন সহ বিদ্যমান শিরোনামগুলি কয়েক বছর ধরে কাজ করলেও, আপনাকে জুন 2025 থেকে v2 তে স্থানান্তরিত হতে উৎসাহিত করা হচ্ছে।
এই নির্দেশিকাটি Play Games Services v1 SDK ব্যবহারের জন্য। সর্বশেষ SDK সংস্করণ সম্পর্কে তথ্যের জন্য, v2 ডকুমেন্টেশন দেখুন।
আপনার জাভা গেম কোডে Friends API গুলি বাস্তবায়ন করতে এই নির্দেশিকার ধাপগুলি ব্যবহার করুন।
বন্ধুদের লোড করুন
আপনি বর্তমান ব্যবহারকারীর বন্ধুদের তালিকা পুনরুদ্ধার এবং (গেমের মধ্যে) প্রদর্শন করতে পারেন। একজন ব্যবহারকারী হিসেবে, কোন গেমগুলি বন্ধুদের তালিকা অ্যাক্সেস করতে পারবে তা নিয়ন্ত্রণ করা সম্ভব। যখন আপনি বন্ধুদের তালিকা পুনরুদ্ধার করেন, তখন আপনাকে সেই ক্ষেত্রে কাজ করতে হবে যেখানে অনুমতি প্রয়োজন। অ্যাক্সেসের অনুরোধ করা এবং পরবর্তীতে বন্ধুদের তালিকা ব্যবহার করা একটি সহজ কাজ করার জন্য API-তে এই সমস্ত কিছু অন্তর্ভুক্ত করা হয়েছে। বন্ধুদের তালিকা লোড করতে, এই পদক্ষেপগুলি অনুসরণ করুন:
-
PlayersClient.loadFriends()পদ্ধতিটি কল করুন, যা একটি অ্যাসিঙ্ক্রোনাস কল যা একটিTaskঅবজেক্ট ফেরত দেয়। - যদি কলটি সফল হয় (ব্যবহারকারী ইতিমধ্যেই বন্ধুদের তালিকায় অ্যাক্সেস মঞ্জুর করেছেন), তাহলে Google Play Games Services একটি টীকাযুক্ত
PlayerBufferফেরত দেয় যা ব্যবহারকারীর বন্ধুদের প্রতিনিধিত্ব করে। যদি খেলোয়াড়কে বন্ধুদের তালিকায় অ্যাক্সেস দিতে হয়, তাহলে
FriendsResolutionRequiredExceptionব্যবহার করে কলটি ব্যর্থ হয়। এখনও কোনও ডায়ালগ দেখানো হয়নি।- এই ব্যতিক্রমটিতে একটি
Intentআছে যা প্লেয়ারের সম্মতি চাওয়ার জন্য একটি ডায়ালগ ট্রিগার করে। আপনি একটি সম্মতি ডায়ালগ খুলতে অবিলম্বে এইIntentচালু করতে পারেন। আপনি শুধুমাত্র একবার এইIntentব্যবহার করতে পারবেন। যদি
Intentএর কার্যকলাপের ফলাফলActivity.RESULT_OKহয়, তাহলে সম্মতি মঞ্জুর করা হয়েছে। বন্ধুদের তালিকা ফেরত দিতে আবারloadFriends()কল করুন। যদি ফলাফলActivity.RESULT_CANCELLEDহয়, তাহলে ব্যবহারকারী সম্মতি দেননি এবংloadFriends()FriendsResolutionRequiredExceptionফেরত দিতে থাকবে।
- এই ব্যতিক্রমটিতে একটি
নিম্নলিখিত কোডটি দেখায় কিভাবে বন্ধুদের তালিকা লোড করা বাস্তবায়ন করতে হয়:
// Attempt loading friends.
// Register a success listener to handle the successfully loaded friends list.
// Register a failure listener to handle asking for permission to access the list.
Games.getPlayersClient(this, GoogleSignIn.getLastSignedInAccount(this))
.loadFriends(PAGE_SIZE, /* forceReload= */ false)
.addOnSuccessListener(
new OnSuccessListener<AnnotatedData<PlayerBuffer>>() {
@Override
public void onSuccess(AnnotatedData<PlayerBuffer> data) {
PlayerBuffer playerBuffer = data.get();
// ...
})
.addOnFailureListener(
exception -> {
if (exception instanceof FriendsResolutionRequiredException) {
PendingIntent pendingIntent =
((FriendsResolutionRequiredException) task.getException())
.getResolution();
parentActivity.startIntentSenderForResult(
pendingIntent.getIntentSender(),
/* requestCode */ SHOW_SHARING_FRIENDS_CONSENT,
/* fillInIntent */ null,
/* flagsMask */ 0,
/* flagsValues */ 0,
/* extraFlags */ 0,
/* options */ null);
}
});
return;
}
নিম্নলিখিত কোডটি সম্মতির অনুরোধের ফলাফল কীভাবে পরিচালনা করতে হয় তা দেখায়:
/** Handle the activity result from the request for consent. */
@Override
public void onActivityResult(int requestCode, int result, Intent data) {
if (requestCode == SHOW_SHARING_FRIENDS_CONSENT) {
if (result == Activity.RESULT_OK) {
// We got consent from the user to access their friends. Retry loading the friends
callLoadFriends();
} else {
// User did not grant consent.
}
}
}
অন্য খেলোয়াড়ের প্রোফাইল দেখুন
আপনার গেমের ভেতর থেকে আপনি অন্য খেলোয়াড়ের প্লে গেমস প্রোফাইলের ভিউ প্রদর্শন করতে পারবেন। এই ভিউ খেলোয়াড়দের দেখা খেলোয়াড়ের জন্য বন্ধুত্বের আমন্ত্রণ পাঠাতে এবং গ্রহণ করতে দেয়। এই ভিউয়ের জন্য বন্ধুত্বের তালিকা অ্যাক্সেস করার প্রয়োজন হয় না। এছাড়াও, যদি আপনার গেমের প্লে গেমস গেমার আইডি থেকে আলাদা খেলোয়াড়ের নামের নিজস্ব ধারণা থাকে, তাহলে আপনি এগুলি প্রোফাইল ভিউতে পাঠাতে পারেন যাতে অতিরিক্ত প্রসঙ্গের জন্য যেকোনো বন্ধুত্বের আমন্ত্রণে সেগুলি অন্তর্ভুক্ত করা যায়।
অন্য খেলোয়াড়ের প্রোফাইল দেখাতে, এই পদক্ষেপগুলি অনুসরণ করুন:
-
PlayersClient.getCompareProfileIntent()পদ্ধতিটি কল করুন, যা একটি অ্যাসিঙ্ক্রোনাস কল যা একটিTaskঅবজেক্ট ফেরত দেয়। - কলটি সফল হলে, গুগল প্লে গেমস সার্ভিসেস একটি ইন্টেন্ট ফেরত দেয় যা একটি স্ক্রিন প্রদর্শন করবে যেখানে ব্যবহারকারী অন্য খেলোয়াড়ের প্রোফাইলের সাথে নিজেদের তুলনা করতে পারবেন।
- একটি কার্যকলাপ শুরু করতে পূর্ববর্তী ধাপের
Intentব্যবহার করুন।
// Retrieve and launch an Intent to show a player profile within the game.
Games.getPlayersClient(this, GoogleSignIn.getLastSignedInAccount(this))
.getCompareProfileIntent(otherPlayerId)
.addOnSuccessListener(new OnSuccessListener<Intent>() {
@Override
public void onSuccess(Intent intent) {
startActivityForResult(intent, RC_SHOW_PROFILE);
// ...
}});
যদি গেমটির খেলোয়াড়দের জন্য নিজস্ব নাম থাকে, তাহলে এগুলি API কলে যোগ করা যেতে পারে। এটি Play Games কে আপনার গেমের মধ্যে থেকে বন্ধুদের আমন্ত্রণ পাঠানো খেলোয়াড়দের ডাকনাম "<game-specific-name> from <your-game-name>" এ সেট করতে সক্ষম করে (Play Games স্বয়ংক্রিয়ভাবে "from <your-game-name>" যোগ করে):
// Show a player profile within the game, with additional hints containing the
// game-specific names for both players.
// - otherPlayerId is the Play Games playerId of the player to view.
// - otherPlayerInGameName is the game-specific name of the player being viewed.
// - currentPlayerInGameName is the game-specific name of the player who is signed
// in. Hence if the player sends an invitation to the profile they are viewing,
// their game-specific name can be included.
Games.PlayersClient(this, GoogleSignIn.getLastSignedInAccount(this))
.getCompareProfileIntentWithAlternativeNameHints(otherPlayerId, otherPlayerInGameName, currentPlayerInGameName)
.addOnSuccessListener(new OnSuccessListener<Intent>() {
@Override
public void onSuccess(Intent intent) {
startActivityForResult(intent, RC_SHOW_PROFILE);
// ...
}});