- 필요한 JAR 파일 확보.
- 클래스패스에 JAR 파일 추가.
- Custom ID Login API 호출을 실행하는 최소한의 Java 콘솔 애플리케이션 만들기.
필요한 JAR 파일 확보
PlayFab JavaSDK를 활용하려면 PlayFab Client JavaSDK와 그 종속성인 Google GSON이 필요합니다. PlayFab Client JavaSDK JAR 라이브러리는 여기에서 다운로드하세요. client-sdk-*.jar 및 해당 Java Doc를 찾으세요 [선택 사항이지만 유용함]. 최신 Google GSON은 여기에서 다운로드할 수 있습니다. gson-*.jar를 찾으세요.Intellij Idea로 프로젝트 설정
간단한 Intellij Idea Java 프로젝트를 초기화한 후 다음 예시와 같이 필요한 JAR 파일을 배치해야 합니다.




모든 IDE로 프로젝트 설정
주요 요구 사항은 JAR 파일이 클래스패스에 추가되어 있어야 한다는 것입니다. 클래스패스에 JAR 파일을 추가하는 방법은 사용 중인 IDE의 가이드를 참조하세요.첫 번째 API 호출 설정
아래 표시된 코드를 기본 클래스 코드로 사용하세요.완료 및 실행
애플리케이션을 실행하려면:- 오른쪽 상단 모서리에 있는 **재생 화살표 >**를 선택합니다. 이렇게 하면 프로그램 실행이 시작되고 출력 패널이 나타납니다.
- 디버그 메시지를 찾습니다. 이는 API 호출이 성공했음을 나타냅니다.

코드 분석
이 선택적 마지막 섹션에서는GettingStarted.java의 모든 줄을 자세히 설명합니다.
-
Imports
- 이는 PlayFab API 호출을 수행하는 데 사용되는 최소한의 import 세트입니다.
-
public static void
main(String[] args) {- API 호출을 시작하고 완료를 기다리는 기본 루프일 뿐입니다.
-
PlayFabSettings.TitleId = "xxxx";- 모든 PlayFab 개발자는 Game Manager에서 타이틀을 만듭니다. 게임을 게시할 때 해당 titleId를 게임에 코딩해야 합니다. 이를 통해 클라이언트는 PlayFab 내의 올바른 데이터에 액세스하는 방법을 알 수 있습니다. 대부분의 사용자에게는 이것을 PlayFab이 작동하도록 만드는 필수 단계로 간주하십시오.
-
PlayFabClientModels.LoginWithCustomIDRequest request = new PlayFabClientModels.LoginWithCustomIDRequest();- 대부분의 PlayFab API 메서드는 입력 매개 변수를 요구하며 이러한 입력 매개 변수는 요청 객체로 패키지화됩니다.
-
모든 API 메서드는 선택적 매개 변수와 필수 매개 변수가 혼합된 고유한 요청 객체를 요구합니다.
LoginWithCustomIDRequest의 경우 플레이어를 고유하게 식별하는 필수 매개 변수CustomId와 이 호출로 새 계정을 만들 수 있게 하는CreateAccount가 있습니다.
-
로그인의 경우 대부분의 개발자는 더 적절한 로그인 방법을 사용하고자 할 것입니다.
- 모든 로그인 방법 목록과 입력 매개 변수는 PlayFab Login 문서를 참조하세요. 일반적인 선택은 다음과 같습니다:
LoginWithAndroidDeviceIDLoginWithIOSDeviceIDLoginWithEmailAddress
- 모든 로그인 방법 목록과 입력 매개 변수는 PlayFab Login 문서를 참조하세요. 일반적인 선택은 다음과 같습니다:
-
FutureTask<PlayFabResult<com.playfab.PlayFabClientModels.LoginResult>> loginTask = PlayFabClientAPI.LoginWithCustomIDAsync(request);- 이는 Java FutureTask 프레임워크를 사용하여
LoginWithCustomID에 대한 비동기 요청을 시작합니다.
- 이는 Java FutureTask 프레임워크를 사용하여
-
While (running)
{ if (loginTask.isDone()) { OnLoginComplete(loginTask); } }- 간단한 메인 루프를 실행하고 loginTask가 완료될 때까지 비동기적으로 대기합니다.
- 완료되면
OnLoginComplete를 호출합니다.
-
OnLoginComplete (loginTask)-
result = loginTask.get();- 비동기 결과를 가져옵니다(FutureTask가 이미 완료된 것을 확인했으므로 차단이 발생하지 않습니다).
-
if (
result.Result != null)이면 API 호출이 성공한 것입니다.-
성공하면 많은 API 콜백의
result.Result객체에 요청된 정보가 포함됩니다. -
LoginResult에는 구체적으로 플레이어에 대한 몇 가지 기본 정보가 포함되어 있습니다. 그러나 대부분의 사용자에게 로그인은 단순히 다른 API를 호출하기 전의 필수 단계입니다.
-
성공하면 많은 API 콜백의
-
If (
result.Error != null)이면 API 호출이 실패한 것입니다.- API 호출은 여러 이유로 실패할 수 있으며 항상 실패를 처리하려고 시도해야 합니다.
- API 호출이 실패하는 이유(가능성 순서대로)
PlayFabSettings.TitleId가 설정되지 않았습니다.TitleId를 타이틀로 설정하는 것을 잊으면 아무것도 작동하지 않습니다.- 요청 매개 변수. 특정 API 호출에 대한 올바른 정보 또는 필수 정보를 제공하지 않은 경우 실패합니다. 자세한 정보는
error.errorMessage,error.errorDetails또는error.GenerateErrorReport()를 참조하세요. - 장치 연결 문제. 휴대 전화는 지속적으로 연결이 끊어졌다가 다시 연결되므로 언제든지 API 호출이 무작위로 실패할 수 있으며 즉시 다시 작동할 수 있습니다. 터널에 들어가면 완전히 연결이 끊길 수 있습니다.
- PlayFab 서버 문제. 모든 소프트웨어와 마찬가지로 문제가 있을 수 있습니다. 업데이트는 릴리스 노트를 참조하세요.
- 인터넷은 100% 신뢰할 수 없습니다. 때때로 메시지가 손상되거나 PlayFab 서버에 도달하지 못합니다.
- 문제를 디버깅하는 데 어려움이 있고 오류 정보 내의 정보가 충분하지 않다면 포럼을 방문해 주세요.
-
