Play Games Friends به بازیکنان این امکان را می دهد که لیست دوستان متقابل بازی ایجاد و نگهداری کنند. شما می توانید درخواست دسترسی به این لیست دوستان را برای کمک به بازیکنان خود در بازی شما با دوستان خود داشته باشید. برای اطلاعات بیشتر در مورد سیستم دوستان به صفحه مفهوم دوستان مراجعه کنید.
قبل از شروع
پروژه خود و افزونه Google Play Games را برای Unity تنظیم کنید. برای جزئیات، به راهنمای شروع کار مراجعه کنید.
دستورالعملهای بهترین شیوهها را برای دستورالعملهای مربوط به بهترین راه برای پیادهسازی این APIها ببینید.
دستورالعملهای بهترین شیوهها را برای دستورالعملهای مربوط به بهترین راه برای پیادهسازی این 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 به بازیکنان این امکان را می دهد که لیست دوستان متقابل بازی ایجاد و نگهداری کنند. شما می توانید درخواست دسترسی به این لیست دوستان را برای کمک به بازیکنان خود در بازی شما با دوستان خود داشته باشید. برای اطلاعات بیشتر در مورد سیستم دوستان به صفحه مفهوم دوستان مراجعه کنید.
قبل از شروع
پروژه خود و افزونه Google Play Games را برای Unity تنظیم کنید. برای جزئیات، به راهنمای شروع کار مراجعه کنید.
دستورالعملهای بهترین شیوهها را برای دستورالعملهای مربوط به بهترین راه برای پیادهسازی این APIها ببینید.
دستورالعملهای بهترین شیوهها را برای دستورالعملهای مربوط به بهترین راه برای پیادهسازی این 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.
});