প্লে গেমস ফ্রেন্ডস খেলোয়াড়দের বিভিন্ন গেমের জন্য একটি বন্ধু তালিকা তৈরি ও রক্ষণাবেক্ষণ করার সুযোগ দেয়। আপনার খেলোয়াড়দের তাদের বন্ধুদের সাথে আপনার গেমটি খেলতে সাহায্য করার জন্য আপনি এই বন্ধু তালিকায় অ্যাক্সেসের অনুরোধ করতে পারেন। বন্ধু ব্যবস্থা সম্পর্কে আরও বিস্তারিত জানতে ফ্রেন্ডস কনসেপ্ট পেজটি দেখুন।
শুরু করার আগে
আপনার প্রজেক্ট এবং ইউনিটির জন্য গুগল প্লে গেমস প্লাগইনটি সেট আপ করুন। বিস্তারিত জানতে, ‘ গেট স্টার্টেড’ গাইডটি দেখুন।
এই এপিআইগুলো বাস্তবায়নের সর্বোত্তম উপায় সম্পর্কে নির্দেশাবলীর জন্য সেরা অনুশীলন নির্দেশিকাগুলো দেখুন।
এই এপিআইগুলো বাস্তবায়নের সর্বোত্তম উপায় সম্পর্কে নির্দেশাবলীর জন্য সেরা অনুশীলন নির্দেশিকাগুলো দেখুন।
বন্ধুদের সক্ষম করুন
বন্ধুদের সক্রিয় করতে, নিম্নলিখিত ফাংশনগুলি ব্যবহার করুন:
বন্ধুদের দেখুন : কোনো খেলোয়াড়ের বন্ধু তালিকায় প্রবেশের অনুমতি চান, যাতে আপনি তাদের খেলার বন্ধুদের আপনার ইন-গেম বন্ধু তালিকায় যুক্ত করতে পারেন।
খেলোয়াড়ের প্রোফাইল দেখুন : একজন খেলোয়াড়কে অন্য খেলোয়াড়ের প্লে গেমস প্রোফাইল দেখার সুযোগ দিন। এটি অপরিহার্য, যাতে একজন খেলোয়াড় জানতে পারে তার বন্ধু কারা এবং আপনার গেমে অন্যান্য প্লে গেমস খেলোয়াড়দের সাথে সংযোগ স্থাপন করতে পারে। পপআপটি চালু করার জন্য এটিকে একটি UI উপাদানের সাথে সংযুক্ত করতে হবে। বিস্তারিত জানতে বন্ধুদের নির্দেশিকা দেখুন।
বন্ধুদের দেখুন
বন্ধুদের লোড করার দুটি উপায় আছে: হয় ISocial ফ্রেমওয়ার্ক ব্যবহার করে অথবা সরাসরি PlayGamesPlatform দিয়ে।
ISOsial ফ্রেমওয়ার্কের মাধ্যমে বন্ধুদের লোড করুন
Social.localUser.LoadFriends((success) => {
Debug.Log("Friends loaded OK: " + ok));
foreach(IUserProfile p in Social.localUser.friends) {
Debug.Log(p.userName + " is a friend");
}
তবে, বর্তমান প্লেয়ার যদি গেমটিকে এই তথ্য অ্যাক্সেস করার অনুমতি না দিয়ে থাকেন, তাহলে এই কলটি ব্যর্থ হবে। অনুমতির অভাবে LoadFriends ব্যর্থ হয়েছে কিনা তা পরীক্ষা করতে GetLastLoadFriendsStatus ব্যবহার করুন।
PlayGamesPlatform.Instance.GetLastLoadFriendsStatus((status) => {
// Check for consent
if (status == LoadFriendsStatus.ResolutionRequired) {
// Ask for resolution.
}
});
একটি গেম AskForLoadFriendsResolution কল করার মাধ্যমে বর্তমান প্লেয়ারকে বন্ধুদের তালিকা শেয়ার করতে বলতে পারে।
PlayGamesPlatform.Instance.AskForLoadFriendsResolution((result) => {
if (result == UIStatus.Valid) {
// User agreed to share friends with the game. Reload friends.
} else {
// User doesn’t agree to share the friends list.
}
});
এই ফাংশনটি উপযুক্ত প্ল্যাটফর্ম-ভিত্তিক বন্ধু শেয়ার করার ইউজার ইন্টারফেস (UI) দেখাবে। এই UI প্লেয়ারকে জিজ্ঞাসা করে যে তারা তাদের বন্ধুদের গেমে শেয়ার করতে চায় কিনা।
PlayGamesPlatform-এর মাধ্যমে বন্ধুদের লোড করুন
বন্ধু লোড করার আরেকটি উপায় হলো LoadFriends এবং LoadMoreFriends ব্যবহার করা।
PlayGamesPlatform.Instance.LoadFriends(pageSize, forceReload, (status) => {
// Check if the call is successful and if there are more friends to load.
});
PlayGamesPlatform.Instance.LoadMoreFriends(pageSize, (status) => {
// Check if there are more friends to load.
});
pageSize প্যারামিটারটি এই পৃষ্ঠার জন্য অনুরোধ করা এন্ট্রির সংখ্যা নির্দেশ করে। মনে রাখবেন, যদি ক্যাশ করা ডেটা আগে থেকেই থাকে, তাহলে ফেরত আসা বাফারটিতে এই আকারের চেয়ে বেশি ডেটা থাকতে পারে। যদি সংগ্রহে যথেষ্ট রেকর্ড থাকে, তাহলে বাফারটিতে অন্তত এই সংখ্যক এন্ট্রি থাকবেই, এটি নিশ্চিত। যদি forceReload ` true সেট করা থাকে, তাহলে এই কলটি স্থানীয়ভাবে ক্যাশ করা যেকোনো ডেটা মুছে ফেলবে এবং সার্ভার থেকে সর্বশেষ ডেটা আনার চেষ্টা করবে। এটি সাধারণত ব্যবহারকারীর দ্বারা শুরু করা রিফ্রেশের মতো কাজের জন্য ব্যবহৃত হয়। ডেটা ক্যাশিংয়ের সুবিধাগুলো পেতে সাধারণত এটি ` false সেট করা উচিত।
যদি কলব্যাকটি LoadFriendsStatus.LoadMore রিটার্ন করে, তাহলে লোড করার জন্য আরও বন্ধু আছে। LoadFriendsStatus.ResolutionRequired নির্দেশ করে যে ব্যবহারকারী বন্ধুদের তালিকা শেয়ার করেননি এবং আপনি সরাসরি PlayGamesPlatform.Instance.AskForLoadFriendsResolution কল করতে পারেন।
বন্ধুদের তালিকার দৃশ্যমানতা নির্ধারণ করুন
ব্যবহারকারী গেমের সাথে বন্ধুদের তালিকা শেয়ার করেছে কিনা তা পরীক্ষা করতে PlayGamesPlatform.Instance.GetFriendsListVisibility ব্যবহার করুন। সম্ভাব্য রিটার্ন স্ট্যাটাসগুলো হলো:
FriendsListVisibilityStatus.RequestRequiredনির্দেশ করে যে আপনাকে অবশ্যই সম্মতি চাইতে হবে।FriendsListVisibilityStatus.Visibleনির্দেশ করে যে বন্ধুদের তালিকা লোড হওয়া সফল হবে।FriendsListVisibilityStatus.Unknownসাধারণত হওয়া উচিত নয়। ডেটা রিফ্রেশ করতে আপনিforceReloadকে true সেট করতে পারেন।
PlayGamesPlatform.Instance.GetFriendsListVisibility(forceReload, (friendsListVisibilityStatus) => {});
একজন খেলোয়াড়ের প্রোফাইল দেখুন
কোনো প্লেয়ারকে বন্ধু হিসেবে যুক্ত করতে বা সরাতে, ‘শো অ্যান্ড কম্পেয়ার প্রোফাইল’ ফাংশনটি ব্যবহার করুন। এই ফাংশনটি একটি বটম শীট ডায়ালগ চালু করে, যেখানে ব্যবহারকারীর প্লে গেমস প্রোফাইলটি দেখা যায়; অনুরোধ করা প্লেয়ারের প্লেয়ার আইডি দিয়ে ফাংশনটি কল করুন। যদি প্লেয়ার এবং বন্ধুর ইন-গেম ডাকনাম থাকে, তাহলে প্রোফাইল UI-তে আরও প্রাসঙ্গিক তথ্য যোগ করতে কল করার সময় সেগুলো ব্যবহার করুন।
PlayGamesPlatform.Instance.ShowCompareProfileWithAlternativeNameHintsUI(
mFirstFriendId, /* otherPlayerInGameName= */ null, /* currentPlayerInGameName= */ null,
(result) => {
// Profile comparison view has closed.
});