La función Amigos de Play Juegos permite que los jugadores creen y mantengan una lista de amigos para todos los juegos. Puedes solicitar acceso a esta lista de amigos para ayudar a los jugadores a que disfruten de tu juego con sus amigos. Consulta la página de conceptos de Amigos a fin de obtener más detalles sobre el sistema de amigos.
Antes de comenzar
Configura tu proyecto y el complemento de Google Play Juegos para Unity. Si deseas obtener más detalles, consulta la guía de introducción.
Consulta los lineamientos de prácticas recomendadas para obtener instrucciones sobre la mejor manera de implementar estas API.
Consulta los lineamientos de prácticas recomendadas para obtener instrucciones sobre la mejor manera de implementar estas API.
Cómo habilitar los amigos
Si deseas habilitar los amigos, usa las siguientes funciones:
Ver amigos: Solicita acceso a la lista de amigos de un jugador, de modo que puedas agregar a sus amigos de Play Juegos a la lista de amigos del juego.
Ver el perfil de un jugador: Permite que un jugador vea el perfil de Play Juegos de otro jugador. Esto es esencial para que un jugador sepa quiénes son sus amigos y pueda conectarse con otros jugadores de Play Juegos. Este deberá vincularse a un elemento de la IU a fin de activar la ventana emergente. Consulta los lineamientos de amigos para obtener más detalles.
Cómo ver los amigos
Existen dos maneras de cargar los amigos, ya sea usando el framework de ISocial
o directamente con PlayGamesPlatform
.
Carga tus amigos con el framework de 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");
}
Sin embargo, la llamada fallará si el jugador actual todavía no le otorgó permiso al juego para que acceda a esta información. Usa GetLastLoadFriendsStatus
a fin de verificar si LoadFriends
falló debido por falta de consentimiento.
PlayGamesPlatform.Instance.GetLastLoadFriendsStatus((status) => {
// Check for consent
if (status == LoadFriendsStatus.ResolutionRequired) {
// Ask for resolution.
}
});
Un juego puede llamar a AskForLoadFriendsResolution
y pedirle al jugador actual que comparta la lista de amigos.
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.
}
});
Esta función mostrará la IU adecuada de uso compartido de amigos específicos de la plataforma. Esta IU le pregunta al jugador si desea compartir a sus amigos con el juego.
Carga tus amigos con PlayGamesPlatform
Otra forma de cargar los amigos es usar LoadFriends
y 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.
});
El parámetro pageSize
representa la cantidad de entradas que se deben solicitar para esta página.
Ten en cuenta que, si ya existen datos almacenados en caché, el búfer que se muestra puede contener datos de un tamaño mayor. Se garantiza que el búfer contendrá al menos esta cantidad de entradas si la colección contiene registros suficientes. Si forceReload
está configurado como true
, esta llamada borrará cualquier dato almacenado en caché local y tratará de recuperar los datos más recientes del servidor. Normalmente, se usa para acciones como una actualización iniciada por el usuario. Por lo general, se debe configurar como false
a fin de aprovechar las ventajas del almacenamiento en caché de datos.
Si la devolución de llamada muestra LoadFriendsStatus.LoadMore
, significa que hay más amigos por cargar. LoadFriendsStatus.ResolutionRequired
indica que el usuario no compartió la lista de amigos, y que puedes llamar directamente a PlayGamesPlatform.Instance.AskForLoadFriendsResolution
.
Determina la visibilidad de la lista de amigos
Usa PlayGamesPlatform.Instance.GetFriendsListVisibility
a los efectos de comprobar si el usuario compartió la lista de amigos con el juego. Estos son los posibles estados que se muestran:
FriendsListVisibilityStatus.RequestRequired
indica que debes solicitar el consentimiento.FriendsListVisibilityStatus.Visible
indica que la carga de la lista de amigos debería ser exitosa.Por lo general,
FriendsListVisibilityStatus.Unknown
no debería ocurrir. Puedes establecerforceReload
como verdadero para actualizar los datos.
PlayGamesPlatform.Instance.GetFriendsListVisibility(forceReload, (friendsListVisibilityStatus) => {});
Cómo ver un perfil de jugador
Si deseas agregar o quitar a un jugador como amigo, usa la función para mostrar y comparar perfiles. Esta función activa un diálogo de hoja inferior que muestra el perfil de Play Juegos del usuario. Llama a la función con el ID del jugador solicitado. Si el jugador y el amigo tienen sobrenombres en el juego, úsalos en la llamada para agregar más contexto a la IU del perfil:
PlayGamesPlatform.Instance.ShowCompareProfileWithAlternativeNameHintsUI(
mFirstFriendId, /* otherPlayerInGameName= */ null, /* currentPlayerInGameName= */ null,
(result) => {
// Profile comparison view has closed.
});