دوستان در بازی های یونیتی، دوستان در بازی های یونیتی

Play Games Friends به بازیکنان این امکان را می دهد که لیست دوستان متقابل بازی ایجاد و نگهداری کنند. شما می توانید درخواست دسترسی به این لیست دوستان را برای کمک به بازیکنان خود در بازی شما با دوستان خود داشته باشید. برای اطلاعات بیشتر در مورد سیستم دوستان به صفحه مفهوم دوستان مراجعه کنید.

قبل از شروع

دستورالعمل‌های بهترین شیوه‌ها را برای دستورالعمل‌های مربوط به بهترین راه برای پیاده‌سازی این APIها ببینید.

دوستان را فعال کنید

برای فعال کردن دوستان، از توابع زیر استفاده کنید:

  • مشاهده دوستان : درخواست دسترسی به لیست دوستان یک بازیکن را بدهید تا بتوانید دوستان بازی آنها را به لیست دوستان درون بازی خود اضافه کنید.

  • مشاهده نمایه بازیکن : به بازیکن اجازه دهید نمایه بازی‌های Play بازیکن دیگری را مشاهده کند. این ضروری است تا بازیکن بداند دوستانش چه کسانی هستند و بتواند به سایر بازیکنان بازی‌های Play در بازی شما متصل شود. این باید به یک عنصر UI متصل شود تا پنجره بازشو راه اندازی شود. برای جزئیات بیشتر به راهنمای دوستان مراجعه کنید.

مشاهده دوستان

دو راه برای بارگیری دوستان وجود دارد، یا با استفاده از چارچوب ISocial یا مستقیماً با PlayGamesPlatform .

دوستان را با چارچوب ISsocial بارگیری کنید

Social.localUser.LoadFriends((success) =>  {
    Debug.Log("Friends loaded OK: " + ok));
    foreach(IUserProfile p in Social.localUser.friends) {
         Debug.Log(p.userName + " is a friend");
    }

با این حال، اگر بازیکن فعلی هنوز به بازی اجازه دسترسی به این اطلاعات را نداده باشد، این تماس ناموفق خواهد بود. از GetLastLoadFriendsStatus برای بررسی اینکه آیا LoadFriends به دلیل عدم رضایت ناموفق بود یا خیر استفاده کنید.

 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.
    }
});

این تابع رابط کاربری مناسب برای اشتراک‌گذاری دوستان مخصوص پلتفرم را نشان می‌دهد. این رابط کاربری از بازیکن می‌پرسد که آیا می‌خواهد دوستان خود را با بازی به اشتراک بگذارد.

دوستان را با 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) => {});

نمایه بازیکن را مشاهده کنید

برای افزودن یا حذف یک پخش کننده به عنوان دوست، از عملکرد نمایه نمایش و مقایسه استفاده کنید. این تابع یک گفتگوی صفحه پایین را راه اندازی می کند که نمایه بازی های Play کاربر را نشان می دهد. تابع را با شناسه پخش کننده پخش کننده درخواستی فراخوانی کنید. اگر بازیکن و دوستش نام مستعار درون بازی دارند، از آنها در تماس استفاده کنید تا زمینه بیشتری به رابط کاربری نمایه اضافه کنید:

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

Play Games Friends به بازیکنان این امکان را می دهد که لیست دوستان متقابل بازی ایجاد و نگهداری کنند. شما می توانید درخواست دسترسی به این لیست دوستان را برای کمک به بازیکنان خود در بازی شما با دوستان خود داشته باشید. برای اطلاعات بیشتر در مورد سیستم دوستان به صفحه مفهوم دوستان مراجعه کنید.

قبل از شروع

دستورالعمل‌های بهترین شیوه‌ها را برای دستورالعمل‌های مربوط به بهترین راه برای پیاده‌سازی این APIها ببینید.

دوستان را فعال کنید

برای فعال کردن دوستان، از توابع زیر استفاده کنید:

  • مشاهده دوستان : درخواست دسترسی به لیست دوستان یک بازیکن را بدهید تا بتوانید دوستان بازی آنها را به لیست دوستان درون بازی خود اضافه کنید.

  • مشاهده نمایه بازیکن : به بازیکن اجازه دهید نمایه بازی‌های Play بازیکن دیگری را مشاهده کند. این ضروری است تا بازیکن بداند دوستانش چه کسانی هستند و بتواند به سایر بازیکنان بازی‌های Play در بازی شما متصل شود. این باید به یک عنصر UI متصل شود تا پنجره بازشو راه اندازی شود. برای جزئیات بیشتر به راهنمای دوستان مراجعه کنید.

مشاهده دوستان

دو راه برای بارگیری دوستان وجود دارد، یا با استفاده از چارچوب ISocial یا مستقیماً با PlayGamesPlatform .

دوستان را با چارچوب ISsocial بارگیری کنید

Social.localUser.LoadFriends((success) =>  {
    Debug.Log("Friends loaded OK: " + ok));
    foreach(IUserProfile p in Social.localUser.friends) {
         Debug.Log(p.userName + " is a friend");
    }

با این حال، اگر بازیکن فعلی هنوز به بازی اجازه دسترسی به این اطلاعات را نداده باشد، این تماس ناموفق خواهد بود. از GetLastLoadFriendsStatus برای بررسی اینکه آیا LoadFriends به دلیل عدم رضایت ناموفق بود یا خیر استفاده کنید.

 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.
    }
});

این تابع رابط کاربری مناسب برای اشتراک‌گذاری دوستان مخصوص پلتفرم را نشان می‌دهد. این رابط کاربری از بازیکن می‌پرسد که آیا می‌خواهد دوستان خود را با بازی به اشتراک بگذارد.

دوستان را با 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) => {});

نمایه بازیکن را مشاهده کنید

برای افزودن یا حذف یک پخش کننده به عنوان دوست، از عملکرد نمایه نمایش و مقایسه استفاده کنید. این تابع یک گفتگوی صفحه پایین را راه اندازی می کند که نمایه بازی های Play کاربر را نشان می دهد. تابع را با شناسه پخش کننده پخش کننده درخواستی فراخوانی کنید. اگر بازیکن و دوستش نام مستعار درون بازی دارند، از آنها در تماس استفاده کنید تا زمینه بیشتری به رابط کاربری نمایه اضافه کنید:

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