প্লে গেমস ফ্রেন্ডস খেলোয়াড়দের একটি ক্রস-গেম বন্ধু তালিকা তৈরি এবং রক্ষণাবেক্ষণ করার সুযোগ দেয়। আপনার খেলোয়াড়দের তাদের বন্ধুদের সাথে আপনার খেলা খেলতে সাহায্য করার জন্য আপনি এই বন্ধু তালিকার অ্যাক্সেসের অনুরোধ করতে পারেন। বন্ধু সিস্টেম সম্পর্কে আরও তথ্যের জন্য বন্ধুদের ধারণা পৃষ্ঠাটি দেখুন।
শুরু করার আগে
আপনার প্রোজেক্ট এবং ইউনিটির জন্য গুগল প্লে গেমস প্লাগইন সেট আপ করুন। বিস্তারিত জানার জন্য, শুরু করুন নির্দেশিকা দেখুন।
এই API গুলি বাস্তবায়নের সর্বোত্তম উপায় সম্পর্কে নির্দেশাবলীর জন্য সর্বোত্তম অনুশীলন নির্দেশিকা দেখুন।
এই API গুলি বাস্তবায়নের সর্বোত্তম উপায় সম্পর্কে নির্দেশাবলীর জন্য সর্বোত্তম অনুশীলন নির্দেশিকা দেখুন।
বন্ধুদের সক্ষম করুন
বন্ধুদের সক্রিয় করতে, নিম্নলিখিত ফাংশনগুলি ব্যবহার করুন:
বন্ধুদের দেখুন : একজন খেলোয়াড়ের বন্ধুদের তালিকায় অ্যাক্সেসের অনুরোধ করুন, যাতে আপনি তাদের খেলার গেমের বন্ধুদের আপনার ইন-গেম বন্ধুদের তালিকায় যোগ করতে পারেন।
একজন খেলোয়াড়ের প্রোফাইল দেখুন : একজন খেলোয়াড়কে অন্য একজন খেলোয়াড়ের প্লে গেমস প্রোফাইল দেখতে দিন। এটি অপরিহার্য যাতে একজন খেলোয়াড় তার বন্ধুদের জানতে পারে এবং আপনার গেমের অন্যান্য প্লে গেমস খেলোয়াড়দের সাথে সংযোগ স্থাপন করতে পারে। পপআপ ট্রিগার করার জন্য এটি একটি UI উপাদানের সাথে সংযুক্ত থাকতে হবে। বিস্তারিত জানার জন্য বন্ধুদের নির্দেশিকা দেখুন।
বন্ধুদের দেখুন
বন্ধুদের লোড করার দুটি উপায় আছে, হয় ISocial ফ্রেমওয়ার্ক ব্যবহার করে অথবা সরাসরি PlayGamesPlatform ব্যবহার করে।
বন্ধুদের ISocial ফ্রেমওয়ার্ক দিয়ে লোড করুন
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সাধারণত হওয়া উচিত নয়। ডেটা রিফ্রেশ করার জন্য আপনিforceReloadtrue তে সেট করতে পারেন।
PlayGamesPlatform.Instance.GetFriendsListVisibility(forceReload, (friendsListVisibilityStatus) => {});
একজন খেলোয়াড়ের প্রোফাইল দেখুন
কোনও খেলোয়াড়কে বন্ধু হিসেবে যোগ করতে বা সরাতে, প্রোফাইল দেখান এবং তুলনা করুন ফাংশনটি ব্যবহার করুন। এই ফাংশনটি ব্যবহারকারীর প্লে গেম প্রোফাইল দেখানো একটি বটম শিট ডায়ালগ ট্রিগার করে; অনুরোধ করা খেলোয়াড়ের প্লেয়ার আইডি দিয়ে ফাংশনটি কল করুন। যদি খেলোয়াড় এবং বন্ধুর ইন-গেম ডাকনাম থাকে, তাহলে প্রোফাইল UI-তে আরও প্রসঙ্গ যোগ করতে কলে সেগুলি ব্যবহার করুন:
PlayGamesPlatform.Instance.ShowCompareProfileWithAlternativeNameHintsUI(
mFirstFriendId, /* otherPlayerInGameName= */ null, /* currentPlayerInGameName= */ null,
(result) => {
// Profile comparison view has closed.
});