Skip to main content
이 빠른 시작 가이드는 Defold를 사용하여 첫 번째 PlayFab API 호출을 수행하는 데 도움을 줍니다. PlayFab API를 호출하려면 먼저 PlayFab 개발자 계정이 있어야 합니다.

Defold 프로젝트 설정

OS: 이 가이드는 Windows 10용으로 작성되었습니다. Mac에서도 잘 작동합니다.
  1. 계정을 만들고 defold를 다운로드하거나 https://www.defold.com/ (Google O-Auth 사용)에서 로그인하세요: https://d.defold.com/stable/.
  2. Defold “시작하기 튜토리얼”을 완료하지 않은 경우 지금 진행하세요.
  3. 아래와 같이 Defold Dashboard에서 새 프로젝트를 만듭니다.
  1. Defold를 실행하고 새 프로젝트를 로드합니다. 아래 예시와 비슷한 여러 창이 표시됩니다.
  1. 프로젝트 설정을 업데이트하고 종속성에 PlayFab을 포함합니다: https://github.com/PlayFab/LuaSdk/raw/master/Defold/PlayFabClientSdk.zip
  1. Project -> Fetch Libraries를 선택하면 아래와 같이 새로운 기본 제공 PlayFab 폴더가 표시됩니다.
  1. 몇 개의 파일을 만듭니다:
    • main/PfGettingStarted.gui
    • “main” 폴더를 선택 -> new -> Gui File -> PfGettingStarted.gui.
    • main/PfGettingStarted.gui_script
    • “main” 폴더 선택 -> new -> Gui Script File -> PfGettingStarted.gui_script.
  2. main.collection에서 새 GUI를 연결합니다.
    • main.collection을 선택하여 엽니다.
    • Outline 패널에서:
      • Add Game Object를 선택합니다(원할 경우 PfGui로 이름 변경).
        • 새 객체를 선택하고 Add Component From File…
          • PfGettingStarted.gui (위에서 만듦).
    • main.collection을 보여주는 Outline 패널은 아래 예시와 같이 보여야 합니다.
PlayFab 설치가 완료되었습니다. 이 프로젝트는 아직 빌드할 준비가 되어 있지 않지만 다음 단계에서 해결할 것입니다.

첫 번째 API 호출 설정

이 가이드에서는 첫 번째 PlayFab API 호출을 수행하는 데 필요한 최소 단계를 제공합니다. 확인은 게임 창에서 볼 수 있습니다.
  1. Defold 편집기에서 PfGettingStarted.gui_script를 두 번 클릭합니다.
  2. 텍스트 편집을 위해 파일이 열립니다.
  3. 아래와 같이 PfGettingStarted.gui_script의 내용을 업데이트합니다.
이 예제에서 loginRequest 객체의 올바른 형식을 확인하려면 LoginWithCustomID의 API 참조를 확인하세요.
  1. Defold 편집기에서 PfGettingStarted.gui를 마우스 오른쪽 버튼으로 클릭 -> Open With -> Text Editor. 안타깝게도 이 작업은 Defold의 내부 설정을 변경하므로:
    • 다시 열기: PfGettingStarted.gui를 마우스 오른쪽 버튼으로 클릭 -> Open With -> GUI Editor. 이렇게 하면 기본값이 정상으로 재설정됩니다.
    • PfGettingStarted.gui의 텍스트 편집 탭을 선택합니다.
    • 아래와 같이 PfGettingStarted.gui의 텍스트 내용을 업데이트합니다.

완료 및 실행

먼저 모든 것이 저장되었는지 확인하고 다른 탭을 선택합니다. 그런 다음 ” * ” 표시를 찾으세요 - 때때로 Defold가 새로 고침되지 않는 경우가 있습니다. 그런 다음 게임을 빌드합니다(Ctrl+b 또는 드롭다운: Project -> Build and Launch). 화면에 다음 텍스트가 표시됩니다: “Congratulations, you made your first successful API call!” 사용 가능한 모든 클라이언트 API 호출 목록은 PlayFab API 참조 문서를 확인하세요. 즐겁게 코딩하세요!

코드 분석

  • PfGettingStarted.gui
    • PfGettingStarted.gui에 대한 지침은 편의를 위한 것이며, 설명을 위한 것이 아닙니다. 이 파일은 화면에 텍스트 상자를 추가하고 다른 스크립트인 PfGettingStarted.gui_script에 바인딩하는 GUI 정의입니다. 일반적으로 이 파일을 텍스트 형식으로 편집하지 않습니다.
    • Defold GUI 위젯을 빌드하는 방법에 대한 적절한 지침은 다음 가이드를 참조하세요:
    • Defold의 GUI 장면
  • PfGettingStarted.gui_script
    • Require 문 및 설정.
      • PlayFabClientApi를 통해 클라이언트 API 호출을 수행할 수 있습니다 - 이것이 여기 온 이유입니다.
      • IPlayFabHttps 및 PlayFabHttps_Defold:
        • PlayFab Defold 플러그인은 PlayFab LuaSdk 위에 구축됩니다. Lua 언어에는 적절한 HTTPS 모듈이 없습니다. Lua를 사용하는 각 게임 엔진은 자체적으로 구현합니다. 이 두 변수는 PlayFabSdk에 HTTPS에 액세스하는 방법을 알려줍니다. 프로젝트의 첫 번째 장면에서 한 번만 이 작업을 수행하면 됩니다. 그렇지 않으면 필수 상용구 코드입니다.
    • PlayFabClientApi.settings.titleId = "144"
      • PlayFab을 사용하는 모든 프로젝트는 PlayFab 웹사이트(Game Manager라고 부름)에서 고유한 타이틀을 만들어야 합니다. Game Manager에서 titleId를 찾아 144를 자신의 titleId로 바꾸세요.
    • function init(self)
      • Defold 함수 - gui가 초기화될 때 호출됩니다.
    • local loginRequest = { TitleId = PlayFabClientApi.settings.titleId, CustomId = "GettingStartedGuide", CreateAccount = true }
      • 대부분의 PlayFab API 메서드는 입력 매개 변수를 필요로 하며, 이러한 입력 매개 변수는 요청 객체에 패킹됩니다.
      • 모든 API 메서드는 선택 및 필수 매개 변수의 조합이 포함된 고유한 요청 객체가 필요합니다.
        • LoginWithCustomIDRequest에는 플레이어를 고유하게 식별하는 필수 매개 변수인 CustomId와 이 호출로 새 계정을 만들 수 있게 해주는 CreateAccount가 있습니다.
      • 로그인의 경우 대부분의 개발자는 보다 적합한 로그인 방법을 사용하고 싶어할 것입니다.
    • PlayFabClientApi.LoginWithCustomID(loginRequest, OnLoginSuccess, OnLoginFailed)
      • 요청을 사용하여 API 호출을 수행하고 성공 및 실패 조건에 대한 콜백 함수를 제공합니다.
    • function OnLoginSuccess(result)
      • 많은 API 성공 콜백의 result 객체에는 요청된 정보가 포함됩니다.
      • LoginResult에는 플레이어에 대한 기본 정보가 포함되어 있지만, 대부분의 사용자에게 로그인은 다른 API를 호출하기 전의 필수 단계에 불과합니다.
    • function OnLoginFailed(error)
      • API 호출은 여러 가지 이유로 실패할 수 있으며 항상 실패 처리를 시도해야 합니다.
      • API 호출이 실패하는 이유(가능성이 높은 순)
        • PlayFabSettings.TitleId가 설정되지 않음. 타이틀에 대해 titleId를 설정하는 것을 잊으면 아무것도 작동하지 않습니다.
        • 요청 매개 변수. 특정 API 호출에 대해 올바르거나 필수적인 정보를 제공하지 않으면 실패합니다. 자세한 내용은 error.errorMessage, error.errorDetails 또는 error.GenerateErrorReport()를 참조하세요.
        • 장치 연결 문제. 휴대전화는 지속적으로 연결이 끊어졌다가 다시 연결되므로 언제든지 API 호출이 무작위로 실패한 후 바로 다시 작동할 수 있습니다. 터널에 들어가면 완전히 연결이 끊길 수 있습니다.
        • PlayFab 서버 문제. 모든 소프트웨어와 마찬가지로 문제가 발생할 수 있습니다. 업데이트는 릴리스 노트를 확인하세요.
        • 인터넷이 100% 신뢰할 수 있는 것은 아닙니다. 때로는 메시지가 손상되거나 PlayFab 서버에 도달하지 못할 수 있습니다.
      • 문제를 디버깅하는 데 어려움이 있고 오류 정보 내의 정보가 충분하지 않은 경우 포럼을 방문하세요.
    • local pfTestOutput = gui.get_node("pfOutput")
      • 이는 또 다른 Defold GUI 함수입니다. PfGettingStarted.gui 파일에 정의된 pfOutput GUI 객체를 가져와서 사용자에게 표시할 텍스트를 할당합니다.
마지막 수정일 2026년 8월 25일