> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Python 빠른 시작

> PlayFab Python 3 SDK를 설치하고 관리 도구 또는 게임 엔진 통합용 네이티브 Python 스크립트에서 첫 번째 PlayFab API 호출을 수행합니다.

이 빠른 시작은 Python 3에서 첫 번째 API 호출을 수행하는 데 도움이 되도록 설계되었습니다.

네이티브 Python 프로젝트는 다음과 같은 몇 가지 방법으로 사용할 수 있습니다.

* 게임을 유지 관리하기 위한 독립 실행형 콘솔 관리 도구로 사용.
* 기존 Python 기반 게임 엔진에 통합.
  * Python 게임 엔진 목록은 python.org 웹 사이트의 [PythonGameLibraries](https://wiki.python.org/moin/PythonGameLibraries)를 참조하세요.

## 필수 조건

* [PlayFab 개발자 계정](https://developer.playfab.com).
* 시스템에 설치된 [Python 3](https://www.python.org/downloads/).
  * requests 모듈도 설치되어 있어야 합니다.

<Note>
  이 Python SDK 베타 릴리스는 동기 API 호출만 지원하며, PlayFab API 호출을 수행하는 동안 게임 루프가 차단될 수 있습니다. 이 문제를 방지하기 위해 자체 비동기/스레딩 모델을 만들어야 할 수 있습니다.
</Note>

문제를 디버깅하는 데 어려움이 있고 제공된 오류 정보가 충분하지 않은 경우 [PlayFab 포럼](https://community.playfab.com/index.html)에 방문하세요.

## Python 프로젝트 설정

1. 명령 프롬프트에서 다음 명령을 사용하여 [PlayFab 패키지](https://pypi.org/project/playfab/)를 설치합니다.

```cmd theme={null}
pip install playfab
```

`pip`가 경로에 없는 경우 대신 다음 명령을 사용하세요.

```cmd theme={null}
python -m pip install playfab
```

2. 프로젝트 디렉터리에 playfab\_test.py라는 Python 스크립트를 만듭니다.

## 첫 번째 API 호출 설정

이 빠른 시작은 GUI나 화면 피드백 없이 첫 번째 PlayFab API 호출을 수행하는 데 필요한 최소한의 단계를 제공합니다. 확인은 콘솔 print 문으로 수행됩니다.

playfab\_test.py 파일의 내용을 아래 내용으로 바꿉니다.

```python theme={null}
from playfab import PlayFabClientAPI, PlayFabSettings

PlayFabSettings.TitleId = "144"

request = {
    "CustomId": "GettingStartedGuide",
    "CreateAccount": True
}

def callback(success, failure):
    if success:
        print("Congratulations, you made your first successful API call!")
    else:
        print("Something went wrong with your first API call.  :(")
        if failure:
            print("Here's some debug information:")
            print(failure.GenerateErrorReport())
PlayFabClientAPI.LoginWithCustomID(request, callback)
```

## 마무리 및 실행

아래에 표시된 명령을 사용하여 Python 스크립트를 실행합니다.

```cmd theme={null}
python playfab_test.py
```

완료되면 다음 텍스트가 표시됩니다: "Congratulations, you made your first successful API call!"

이 시점에서 다른 API 호출을 시작하고 게임을 구축할 수 있습니다. 사용 가능한 모든 클라이언트 API 호출 목록은 [PlayFab API 참조](/services/playfab/api-references) 문서를 참조하세요.

즐거운 코딩 되세요!

## 코드 분석

이 선택적 마지막 섹션에서는 playfab\_test.py의 각 부분을 자세히 설명합니다.

* Imports
  * PlayFab imports는 API에 대한 액세스를 제공합니다.

* `PlayFabSettings.TitleId = "144"`
  * 모든 PlayFab 개발자는 Game Manager에서 타이틀을 만듭니다. 게임을 게시할 때 해당 titleId를 게임에 코딩해야 합니다. 이를 통해 클라이언트는 PlayFab 내의 올바른 데이터에 액세스하는 방법을 알 수 있습니다. 대부분의 사용자에게는 PlayFab을 작동시키는 필수 단계로 간주하면 됩니다.

* request
  * 대부분의 PlayFab API 메서드는 입력 매개변수가 필요하며, 이러한 입력 매개변수는 딕셔너리 객체로 패키징됩니다.
    * `LoginWithCustomIDRequest`는 필수 매개변수인 `CustomId`(플레이어를 고유하게 식별하고 연관된 엔터티 토큰을 반환)와 `CreateAccount`(이 호출로 새 계정을 만들 수 있음)를 사용합니다.
    * 로그인의 경우, 대부분의 개발자는 더 적절한 로그인 방법을 사용하고자 할 것입니다.
      * 모든 로그인 방법 목록과 입력 매개변수는 [PlayFab 로그인 문서](xref:titleid.playfabapi.com.client.authentication)를 참조하세요. 일반적인 선택은 다음과 같습니다.
        * [LoginWithAndroidDeviceID](xref:titleid.playfabapi.com.client.authentication.loginwithandroiddeviceid)
        * [LoginWithIOSDeviceID](xref:titleid.playfabapi.com.client.authentication.loginwithiosdeviceid)
        * [LoginWithEmailAddress](xref:titleid.playfabapi.com.client.authentication.loginwithemailaddress)

* Callback
  * Success
    * API 호출이 성공하면 success에 요청된 정보가 포함되고 failure는 `None`이 됩니다.
    * 로그인 요청의 경우 success에는 플레이어에 대한 기본 정보가 포함되지만, 대부분의 사용자에게 로그인은 다른 API를 호출하기 전의 필수 단계일 뿐입니다.

  * Failure
    * API 호출이 성공하지 못하면 failure에 일부 오류 정보가 포함되고 success는 `None`이 됩니다.
    * API 호출은 다양한 이유로 실패할 수 있으며, 항상 실패를 처리하려고 시도해야 합니다.
    * API 호출이 실패하는 이유(가능성 순서대로)
      * `PlayFabSettings.TitleId`가 설정되지 않았습니다. `titleId`를 타이틀로 설정하는 것을 잊으면 아무것도 작동하지 않습니다.
      * 요청 매개변수. 특정 API 호출에 대한 올바른 정보나 필수 정보를 제공하지 않으면 실패합니다.
      * 장치 연결 문제. 휴대폰은 지속적으로 연결이 끊기고 다시 연결되므로 어떤 시점에서든 API 호출이 무작위로 실패할 수 있으며, 그 직후에 작동할 수 있습니다. 터널에 들어가면 연결이 완전히 끊길 수 있습니다.
      * PlayFab 서버 문제. 모든 소프트웨어와 마찬가지로 문제가 있을 수 있습니다. 업데이트는 [릴리스 정보](/services/playfab/release-notes)를 참조하세요.
      * 인터넷은 100% 신뢰할 수 없습니다. 때때로 메시지가 손상되거나 PlayFab 서버에 도달하지 못할 수 있습니다.

* `PlayFabClientAPI.LoginWithCustomID`
  * API 호출을 동기적으로 트리거합니다. 완료되면 콜백이 호출됩니다.


## Related topics

- [PlayFab 지원 언어](/ko/services/playfab/sdks/languages/index.md)
- [빠른 시작](/ko/services/playfab/economy-monetization/economy-v2/quickstart.md)
- [빠른 시작 Android](/ko/services/playfab/sdks/c/quickstart-android.md)
- [빠른 시작 GDK](/ko/services/playfab/sdks/c/quickstart-gdk.md)
- [빠른 시작 iOS](/ko/services/playfab/sdks/c/quickstart-ios.md)
