Corona용 Lua 빠른 시작
이 빠른 시작은 Corona 엔진에서 첫 번째 PlayFab API 호출을 만드는 것을 도와줍니다.
PlayFab API를 호출하려면 먼저 PlayFab 개발자 계정이 있어야 합니다.
Corona 프로젝트 설정
OS: 이 빠른 시작은 Windows 10용으로 작성되었습니다. 하지만 Mac에서도 잘 작동합니다.
Corona를 다운로드하여 설치합니다. https://coronalabs.com/.
Corona를 실행하고 새 프로젝트를 만듭니다. 다음 링크에는 첫 번째 단계를 수행하지 않은 경우 도움이 될 수 있는 정보가 있습니다. https://docs.coronalabs.com/guide/start/installWin/index.html.
설치하고, 로그인하여 새 프로젝트를 만들었으면 아래의 예제와 유사한 몇 가지 창이 표시됩니다.
Corona 마켓플레이스에서 PlayFab 클라이언트 플러그인을 활성화합니다.
PlayFab 설치가 완료되었습니다.
첫 번째 API 호출 설정
이 가이드에서는 첫 번째 PlayFab API 호출을 수행하는 데 필요한 최소 단계를 제공합니다. 확인은 Corona 엔진 출력 로그에 표시됩니다.
선호하는 텍스트 편집기에서 다음 라인을 build.settings
에 추가합니다.
settings =
{
-- ADD THESE THREE LINES at the top, leave everything else as-is
plugins = {
["plugin.playfab.client"] = { publisherId = "com.playfab" }
},
-- Other existing lines...
}
참고 항목
이 예에서 loginRequest 개체의 올바른 형식을 조회하려면 LoginWithCustomID에 대한 API 참조를 확인하세요.
선호하는 텍스트 편집기에서 main.lua 파일의 내용을 아래 표시된 내용으로 대체합니다.
local pfClient = require("plugin.playfab.client")
local PlayFabClientApi = pfClient.PlayFabClientApi
PlayFabClientApi.settings.titleId = "144"
local loginRequest = {
-- See the API reference for LoginWithCustomID.
CustomId = "GettingStartedGuide",
CreateAccount = true
}
PlayFabClientApi.LoginWithCustomID(loginRequest,
function(result) print("Congratulations, you made your first successful API call!") end,
function(error) print("Something went wrong with your first API call.\nHere's some debug information:\n" .. error.errorMessage) end
)
완료 및 실행
저장하면 Corona는 자동으로 즉시 프로젝트 소스를 실행합니다. 따라서 이 두 파일을 업데이트하고 저장하는 즉시 다음과 같은 화면이 표시됩니다.
이 시점에서 다른 API 호출을 만들고 게임을 빌드할 수 있습니다. 사용 가능한 모든 클라이언트 API 호출 목록을 보려면 PlayFab API 참조 설명서를 참조하세요.
즐거운 코딩이 되시길 바랍니다.
코드 분해
선택 사항인 이 마지막 섹션은 위 예제의 각 부분을 한 줄씩 설명합니다.
- build.settings
plugins = {
- Corona 플러그인 시스템을 호출하여 Corona 마켓플레이스 플러그인을 다운로드하고 프로젝트에 설치하도록 지시합니다.
["plugin.playfab.client"] = { publisherId = "com.playfab" }
- 특별히 이는 PlayFab 클라이언트 플러그인을 다운로드하도록 지시합니다.
- main.lua
- require() lines:
- PlayFab API 호출을 만드는 데 필요한 최소 가져오기입니다.
PlayFabClientApi.settings.titleId = "xxxx"
- 모든 PlayFab 개발자는 게임 관리자에서 타이들을 만듭니다. 게임을 게시할 때 게임에 해당 titleId를 코딩해야 합니다. 이렇게 하면 클라이언트가 PlayFab 내에서 올바른 데이터에 액세스하는 방법을 알 수 있습니다. 대부분의 사용자는 이를 PlayFab을 작동하게 하는 필수 단계로 보면 됩니다.
local loginRequest = { CustomId = "GettingStartedGuide", CreateAccount = true }
- 대부분의 PlayFab API 메서드에는 입력 매개 변수가 필요하고 이러한 입력 매개 변수는 요청 개체로 압축됩니다.
- 모든 API 메서드는 선택적 매개 변수와 필수 매개 변수가 혼합된 고유 요청 개체가 필요합니다.
-
LoginWithCustomIDRequest
의 경우, 플레이어와CreateAccount
을(를) 고유하게 식별하는CustomId
라는 필수 매개 변수가 있어 이 호출로 새로운 계정을 생성하도록 합니다.
-
PlayFabClientApi.LoginWithCustomID(loginRequest, {OnLoginSuccess-function}, {OnLoginError-function})
- 이는
LoginWithCustomID
에 대한 비동기 요청을 시작하며, 성공하면 첫 번째 (OnLoginSuccess
) 콜백을 호출하고 실패하면 두 번째 (OnLoginError
) 함수를 호출합니다.
- 이는
- 대부분의 개발자들은 보다 적절한 로그인 메서드를 사용하고자 합니다.
- 모든 로그인 메서드 및 입력 매개 변수 목록 목록은 PlayFab 로그인 설명서를 참조하세요. 일반적인 옵션은 다음과 같습니다.
-
OnLoginSuccess
단일 매개 변수(결과)를 허용하는 모든 함수입니다.- 결과 개체는 호출된 API에 따라 요청된 정보를 포함합니다.
-
LoginResult
는 플레이어에 대한 몇 가지 기본 정보를 포함하지만 대부분의 사용자에게 로그인은 다른 API를 호출하기 전에 수행해야 할 필수 단계일 뿐입니다.
-
OnLoginError
단일 매개 변수(오류)를 허용하는 모든 함수입니다.- API 호출은 여러 가지 이유로 실패할 수 있으며, 항상 실패에 대해 처리하려고 시도해야 합니다.
- API 호출이 실패하는 이유(가능성이 높은 순서대로 나열):
-
PlayFabSettings.TitleId
이(가) 설정되지 않았습니다. 타이틀에titleId
를 설정하는 것을 잊은 경우 아무 작업도 수행되지 않습니다. - 요청 매개 변수. 특정 API 호출에 대해 정확하거나 필요한 정보를 제공하지 않은 경우 호출에 실패합니다. 자세한 내용은
error.errorMessage
,error.errorDetails
또는error.GenerateErrorReport()
를 참조하세요. - 장치 연결 문제. 휴대폰은 지속적으로 연결이 끊어졌다가 다시 연결되므로 언제든지 모든 API 호출이 실패한 후 바로 다시 작동할 수 있습니다. 터널로 들어가면 연결이 완전히 끊길 수 있습니다.
- PlayFab 서버 문제. 모든 소프트웨어와 마찬가지로 문제가 있을 수 있습니다. 업데이트에 대해서는 릴리스 정보를 참조하세요.
- 인터넷은 100% 신뢰할 수 없습니다. 때때로 메시지가 손상되었거나 PlayFab 서버에 연결되지 않을 수 있습니다.
-
- 문제를 디버깅하는 데 문제가 있는 경우 오류 정보 내의 정보로는 충분하지 않습니다. 포럼에서 문의해 주시기 바랍니다.
- require() lines: