Friends API를 사용하여 기존 게임 내 친구 시스템과 게임에서 액세스할 수 있는
다른 소셜 시스템을 보완하고 개선하세요. 이를 통해 플레이어는 다음 작업을 할 수 있습니다.
게임에서 친구를 찾습니다.
리더보드에서 친구와 점수를 비교합니다.
Play 게임즈 친구 목록을 기존 게임 내 친구 목록과 결합합니다.
인게임 프로필 팝업으로 다른 플레이어를 확인합니다. 이 팝업은 함께 플레이하는 사람을 알 수 있도록 현재 플레이어가 친구에게 지정한 닉네임을 보여줍니다.
기본사항
이러한 API를 통해 다음 작업을 할 수 있습니다.
친구 로드: 플레이어가 게임에서 친구 목록 정보에 액세스하도록 허용했는지 확인할 수 있습니다. 액세스 권한이 부여되면 로그인한 플레이어의 친구에 해당하는 플레이어 객체 목록을 가져올 수 있습니다.
다른 플레이어의 Play 게임즈 프로필 뷰 실행: 이 뷰를 열어, 로그인한 플레이어가 다른 플레이어에게 지정한 이름을 표시할 수 있습니다. 이 뷰는 또한 우정 관리 컨트롤을 제공하며 플레이어를 게임에서 없애지 않습니다.
사용자 컨트롤 제공: 사용자가 자신의 Play 게임즈 프로필이 친구에게 표시되는 방식과 친구 목록이 게임에 표시되는 방식을 관리할 수 있습니다. 친구 목록 액세스의 경우 사용자는 모든 게임에 대해 액세스 권한을 자동으로 부여하도록 선택하거나 각 게임에 대해 액세스를 개별적으로 승인하도록 선택할 수 있습니다. 따라서 친구 목록을 로드할 때 결과는 액세스 요청을 표시하는 콜백일 수 있습니다.
Play 게임즈 친구 목록 가져오기
Friends API를 사용하여 플레이어의 Play 게임즈 친구 목록을 가져와 게임 내 친구 목록에 추가할 수 있습니다.
신규 사용자에게는 함께 플레이할 친구의 시작 목록이 있고 기존 사용자는 Play 게임즈 친구를 게임 내 친구 목록으로 가져올 수 있습니다.
따라서 사용자는 함께 플레이하거나 서로 경쟁할 최대 플레이어 집합을 갖게 됩니다.
게임에 Play 게임즈 친구 추가
Play 게임즈 ID를 내부 데이터베이스의 상응하는 플레이어 정보와 연결하여 기존 게임 내 친구 목록에 Play 게임즈 친구를 추가합니다. 이러한 친구 옆에는 Play 게임즈 아이콘이 있는 버튼이 있어야 합니다. 버튼을 누르면 다른 플레이어의 프로필이 표시되므로 친구가 누구인지 사용자가 알 수 있습니다.
백엔드 서버의 친구 목록을 사용할 때는 Android API의 결과를
전달하는 대신 REST API를 사용하여
안전하게 로드합니다. 현재 로그인한 플레이어의 경우 REST API에서 players.get(me)로 반환된 플레이어 ID를 사용해야 합니다. 다른 플레이어에게 표시되는 ID와 일치하기 때문입니다.
증가된 친구 목록이 저장되지 않고 표시 시점에만 사용되는 경우에는 추가 작업이 필요하지 않습니다.
Play 게임즈 액세스 권한 부여
게임에 아직 Play 게임즈 액세스 권한이 없으면 사용자가 게임 내 친구 목록을 볼 때 사용자에게 동의를 요청하는 것이 좋습니다. 예를 들어 탭할 때 사용자에게 동의를 요청하는 Play 게임즈 친구 가져오기 버튼을 추가할 수 있습니다. 서비스를 언급하는 모든 버튼에 Play 게임즈 로고를 사용해야 합니다.
다른 플레이어의 프로필 보기
로그인한 플레이어가 다른 플레이어의 Play 게임즈 프로필을 보도록 허용할 수 있습니다. 이렇게 하면 로그인한 플레이어가 다른 플레이어에게 지정한 이름과 이미 친구인지 여부를 확인할 수 있으므로 관계에 관한 맥락이 추가됩니다. 플레이어가 아직 친구가 아닌 경우 로그인한 플레이어는 프로필 뷰에서 우정 관리 컨트롤을 확인할 수 있습니다. 게임 내에서 우정을 작성하면 두 플레이어의 기본 이름이 게임 내 이름이 됩니다 (제공되는 경우). 우정이 시작된 게임의 이름도 표시됩니다.
소셜 리더보드
Friends API는 리더보드에도 사용할 수 있습니다. 이 기능을 사용하여 Play 게임즈 친구 중 현재 플레이어의 순위를 표시합니다. 이는 이 정보를 애플리케이션과 공유하기로 선택한 사용자에게 그리고 사용자가 Play 게임즈에서 친구인 경우에만 적용됩니다. 이 기능을 지원하기 위해 게임에서는 사용자에게 컨트롤을 노출합니다. 이 컨트롤은 collection 인수를 사용하여 리더보드의 소셜 뷰를 선택합니다. 자세한 내용은
공개 및 소셜 리더보드 섹션을
참고하세요.
소셜 리더보드 컬렉션을 구현하는 경우
리더보드 점수를 로드하기 위한 호출은
loadFriends()에서와 유사하게 동의가 필요한 해결 예외를
반환할 수 있습니다.
Play 게임즈 제공 기본 UI(예: getLeaderboardIntent())를 구현하면 자동으로 처리됩니다.
이 페이지에 나와 있는 콘텐츠와 코드 샘플에는 콘텐츠 라이선스에서 설명하는 라이선스가 적용됩니다. 자바 및 OpenJDK는 Oracle 및 Oracle 계열사의 상표 또는 등록 상표입니다.
최종 업데이트: 2025-07-26(UTC)
[[["이해하기 쉬움","easyToUnderstand","thumb-up"],["문제가 해결됨","solvedMyProblem","thumb-up"],["기타","otherUp","thumb-up"]],[["필요한 정보가 없음","missingTheInformationINeed","thumb-down"],["너무 복잡함/단계 수가 너무 많음","tooComplicatedTooManySteps","thumb-down"],["오래됨","outOfDate","thumb-down"],["번역 문제","translationIssue","thumb-down"],["샘플/코드 문제","samplesCodeIssue","thumb-down"],["기타","otherDown","thumb-down"]],["최종 업데이트: 2025-07-26(UTC)"],[],[],null,["# Friends\n\nUse the Friends APIs to complement and enhance your existing in-game friends system\nand other social systems your game may access. This lets you enable players to:\n\n- Find their friends in your game.\n\n- Compare scores with their friends on leaderboards.\n\n- Combine the list of their Play Games friends with existing in-game lists of\n friends.\n\n- Identify another player with an in-game profile popup. This popup shows a\n nickname that the current player has given to their friend, so they know who\n they are playing with.\n\nBasics\n------\n\nThese APIs allow you to perform the following actions:\n\n- **Load friends**: You can check if the player has allowed the game to access Friends list information. If access is granted, you can get a list of Player objects corresponding to the friends of the signed-in player.\n- **Launch a view of another player's Play Games profile**: You can open up this view to show the name given to the other player by the signed-in player. This view also offers friendship management controls and won't take the player out of your game.\n- **Provide user controls**: The user has controls to manage how their Play Games profile is visible to friends and how their friends list is visible to games. For friends list access, the user can choose to automatically grant access for all games or they can choose to individually approve access for each game. Consequently, when loading the friends list, the result may be a callback to display a request for access.\n\nImport a Play Games friends list\n--------------------------------\n\nYou can use the Friends APIs to get a list of your players' Play Games\nfriends and add them to your in-game friends list.\n\nNew users will have a starting list of friends to play with, and existing users\ncan import their Play Games friends into any in-game lists of friends.\nAs a result, your users will have the largest possible set of players to play\nwith or compete against.\n| **Note:** If you store any relationships from Play Games, you must regularly check the friends list to ensure that the relationships, and consent to use them, are still valid.\n\n### Add Play Games friends to your game\n\nAdd Play Games friends to any existing in-game friends list by\nassociating their Play Games ID with corresponding player information in\nyour internal database. Make sure you have a button with the Play Games\nicon next to these friends, which shows the other player's profile when pressed,\nso your users can know who the friends are.\n\nWhen using the friends list from a backend server,\n[load it securely](/games/pgs/signin#secure-access)\nusing the REST API rather than passing the result of the Android API. Make sure\nto use the player ID returned by\n[`players.get(me)`](/games/services/web/api/rest/v1/players/get)\nin the REST API for the currently signed-in player, as this will be consistent\nwith the ID seen by other players.\n\nIf the augmented friends list is not stored (but just used at the time of\nviewing), then no additional work is needed.\n\n### Grant Play Games access\n\nIf your game doesn't already have Play Games access, a good time to\nprompt users for their consent is when they view your in-game friends list. For\nexample, you might add a button called **Import Play Games friends**, which\nprompts the user for consent when tapped. (Make sure to use the\nPlay Games logo on any button that mentions the service.)\n\nView another player's profile\n-----------------------------\n\nYou can allow your signed-in player to view another player's\nPlay Games profile. This allows the signed-in player to see the name they\nhave given the other player and whether or not they are already friends, giving\nthem added context about the relationship. If the players are not yet friends,\nthe signed-in player will see friendship management controls on the profile\nview. When friendships are created from within the game, the default names for\nthe two players are their in-game names (if provided). The name of the\ngame where the friendship was initiated is also shown.\n\nSocial leaderboards\n-------------------\n\nThe Friends APIs can also be used for leaderboards. Use this feature to show the\nranking of the current player among their Play Games friends. Note that\nthis only applies to users who have chosen to share this information with your\napplication, and if the users are friends in Play Games. To support this\nfeature, the game exposes a control to the user. This control uses the\n`collection` argument to select the social view of the leaderboard. To learn\nmore, see the section on\n[public and social leaderboards](/games/pgs/leaderboards#public_and_social_leaderboards).\n\nIf you implement the social leaderboards collection, the call to load the\nleaderboard scores may return a consent-required resolution exception similar to\nthat from\n[`loadFriends()`](https://developers.google.com/android/reference/com/google/android/gms/games/PlayersClient#loadFriends(int,%20boolean)).\nIf you implement the default Play Games-provided UI (for example,\n[`getLeaderboardIntent()`](https://developers.google.com/android/reference/com/google/android/gms/games/LeaderboardsClient.html#getLeaderboardIntent(java.lang.String))),\nthen this is handled for you automatically.\n\nNext steps\n----------\n\nBefore you start to use the Friends APIs, do the following:\n\n- Download and review a code sample:\n - [Java](https://github.com/playgameservices/android-basic-samples)\n - [Unity sample app](https://github.com/playgameservices/play-games-plugin-for-unity/tree/master/Samples/SmokeTest) using the [Unity plugin](https://github.com/playgameservices/play-games-plugin-for-unity)\n- Familiarize yourself with the recommendations described in the [Quality Checklist](/games/pgs/quality#friends).\n- Implement the [Friends APIs in a Java client](/games/pgs/android/friends)."]]