ইউনিটি গেমে বন্ধুরা

প্লে গেমস ফ্রেন্ডস খেলোয়াড়দের একটি ক্রস-গেম বন্ধু তালিকা তৈরি এবং বজায় রাখার অনুমতি দেয়৷ আপনার খেলোয়াড়দের তাদের বন্ধুদের সাথে আপনার গেম খেলতে সাহায্য করার জন্য আপনি এই বন্ধু তালিকায় অ্যাক্সেসের অনুরোধ করতে পারেন৷ বন্ধুদের সিস্টেমে আরও বিশদ বিবরণের জন্য বন্ধুদের ধারণা পৃষ্ঠাটি দেখুন।

আপনি শুরু করার আগে

এই APIগুলি বাস্তবায়নের সর্বোত্তম উপায়ের নির্দেশাবলীর জন্য সর্বোত্তম অনুশীলন নির্দেশিকা দেখুন।

বন্ধুদের সক্রিয় করুন

বন্ধুদের সক্ষম করতে, নিম্নলিখিত ফাংশন ব্যবহার করুন:

  • বন্ধুদের দেখুন : একজন খেলোয়াড়ের বন্ধুদের তালিকায় অ্যাক্সেসের অনুরোধ করুন, যাতে আপনি তাদের খেলার গেমের বন্ধুদের আপনার ইন-গেম বন্ধুদের তালিকায় যোগ করতে পারেন।

  • একজন খেলোয়াড়ের প্রোফাইল দেখুন : একজন খেলোয়াড়কে অন্য খেলোয়াড়ের প্লে গেমস প্রোফাইল দেখতে দিন। এটি অত্যাবশ্যক তাই একজন খেলোয়াড় জানেন যে তাদের বন্ধু কারা, এবং আপনার গেমের অন্যান্য Play Games খেলোয়াড়দের সাথে সংযোগ স্থাপন করতে পারে। পপআপটি ট্রিগার করার জন্য এটিকে একটি 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 সাধারণত হওয়া উচিত নয়। ডেটা রিফ্রেশ করতে আপনি forceReload সত্যে সেট করতে পারেন।

PlayGamesPlatform.Instance.GetFriendsListVisibility(forceReload, (friendsListVisibilityStatus) => {});

একটি প্লেয়ার প্রোফাইল দেখুন

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

PlayGamesPlatform.Instance.ShowCompareProfileWithAlternativeNameHintsUI(
    mFirstFriendId, /* otherPlayerInGameName= */ null, /* currentPlayerInGameName= */ null,
    (result) => {
        // Profile comparison view has closed.
});
,

প্লে গেমস ফ্রেন্ডস খেলোয়াড়দের একটি ক্রস-গেম বন্ধু তালিকা তৈরি এবং বজায় রাখার অনুমতি দেয়৷ আপনার খেলোয়াড়দের তাদের বন্ধুদের সাথে আপনার গেম খেলতে সাহায্য করার জন্য আপনি এই বন্ধু তালিকায় অ্যাক্সেসের অনুরোধ করতে পারেন৷ বন্ধুদের সিস্টেমে আরও বিশদ বিবরণের জন্য বন্ধুদের ধারণা পৃষ্ঠাটি দেখুন।

আপনি শুরু করার আগে

এই APIগুলি বাস্তবায়নের সর্বোত্তম উপায়ের নির্দেশাবলীর জন্য সর্বোত্তম অনুশীলন নির্দেশিকা দেখুন।

বন্ধুদের সক্রিয় করুন

বন্ধুদের সক্ষম করতে, নিম্নলিখিত ফাংশন ব্যবহার করুন:

  • বন্ধুদের দেখুন : একজন খেলোয়াড়ের বন্ধুদের তালিকায় অ্যাক্সেসের অনুরোধ করুন, যাতে আপনি তাদের খেলার গেমের বন্ধুদের আপনার ইন-গেম বন্ধুদের তালিকায় যোগ করতে পারেন।

  • একজন খেলোয়াড়ের প্রোফাইল দেখুন : একজন খেলোয়াড়কে অন্য খেলোয়াড়ের প্লে গেমস প্রোফাইল দেখতে দিন। এটি অত্যাবশ্যক তাই একজন খেলোয়াড় জানেন যে তাদের বন্ধু কারা, এবং আপনার গেমের অন্যান্য Play Games খেলোয়াড়দের সাথে সংযোগ স্থাপন করতে পারে। পপআপটি ট্রিগার করার জন্য এটিকে একটি 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 সাধারণত হওয়া উচিত নয়। ডেটা রিফ্রেশ করতে আপনি forceReload সত্যে সেট করতে পারেন।

PlayGamesPlatform.Instance.GetFriendsListVisibility(forceReload, (friendsListVisibilityStatus) => {});

একটি প্লেয়ার প্রোফাইল দেখুন

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

PlayGamesPlatform.Instance.ShowCompareProfileWithAlternativeNameHintsUI(
    mFirstFriendId, /* otherPlayerInGameName= */ null, /* currentPlayerInGameName= */ null,
    (result) => {
        // Profile comparison view has closed.
});