기술 자료

지원

Cloud Code

Cloud Code

Cloud Code 설정

Set up Cloud Code scripts or modules to use with the Triggers service.
읽는 시간 1분최근 업데이트: 한 달 전

Triggers 서비스를 사용하려면 Cloud Code 스크립트나 Cloud Code 모듈을 정의해야 합니다.
Cloud Code C# 모듈
타입 세이프(type-safe) 프로그래밍 언어와 강력한 .NET 컴포넌트를 사용하여 서버 측 코드를 작성합니다. NuGet 같은 툴을 사용하여 DLL(동적 링크 라이브러리)을 번들링하는 프로젝트에서 필요한 기타 콘텐츠를 활용합니다.Cloud Code C# 모듈 시작하기
Cloud Code JavaScript 스크립트
반복 작업(iteration)이 수월한 언어를 사용하여 서버 측 코드를 작성합니다. JavaScript 프론트엔드로 개발을 시작했다면 동일한 생태계를 사용하여 기존의 개발 경험을 활용할 수 있습니다. Cloud Code 커맨드 라인으로 바로 지원되는 CommonJS 및 ECMAScript 모듈 시스템을 통해 재사용 가능한 부분으로 코드를 번들링하십시오.Cloud Code JavaScript 스크립트 시작하기
트리거 구성을 정의했다면 이 스크립트 또는 모듈은 트리거가 발동할 때 같이 실행됩니다.

실행 반환 값

현재 Triggers 서비스는 Cloud Code에서 반환되는 어떤 반환 값과도 상호 작용하지 않습니다. 이 점을 고려하여 게임 로직을 직접 실행하는 모듈과 스크립트를 만들어야 합니다.

컨텍스트 속성

Triggers 서비스는 서비스 계정으로 인증되며, 이에 따라 스크립트에서
context
오브젝트에 특정 속성을 사용할 수 없고, 모듈에서는 실행 중에
IExecutionContext
인터페이스를 사용할 수 없습니다.
플레이어 인증이 되지 않으므로 다음 속성을 사용할 수 없습니다.
  • playerId
  • accessToken
  • unityInstallationId
  • analyticsUserId
  • correlationId
스크립트와 모듈이 이러한 속성을 사용하지 않도록 하십시오.

크로스 플레이어 데이터

Cloud Code를 사용하여 크로스 플레이어 데이터를 수정하려면,
serviceToken
을 사용하여 인증하고 다른 UGS 서비스를 호출해야 합니다.
Cloud Code 로직을 작성할 때 컨텍스트 오브젝트에서 플레이어 ID를 검색할 수는 없습니다. 그러나 트리거가 UGS에서 발생하는 이벤트와 페어링되면, 이벤트 페이로드에서 플레이어 ID를 검색하고 플레이어 데이터와 상호 작용할 수 있습니다. 지원되는 이벤트와 이벤트 페이로드에 관한 자세한 내용은 지원되는 UGS 이벤트를 참고하십시오. 다른 Unity Gaming Services를 호출하여 플레이어 데이터를 검색할 수도 있습니다. 예를 들어, 스크립트나 모듈에서 Leaderboards나 Lobby 서비스를 호출하여 해당 서비스에서 플레이어를 검색할 수 있습니다. 사용 사례 샘플: 상위 플레이어에게 게임 내 재화로 보상 제공에서 예시를 확인하시기 바랍니다.

페이로드 파라미터

일련의 파라미터를 사용하여 Cloud Code 모듈과 스크립트를 호출할 수 있습니다. 이러한 파라미터는 이벤트의 페이로드에 정의됩니다. 예약된 이벤트의 페이로드는 사용자가 일정 구성에서 정의합니다. UGS 이벤트의 경우, 지원되는 UGS 이벤트에서 이벤트 페이로드의 콘텐츠를 확인하십시오. 파라미터는 다른 스크립트나 모듈과 동일한 방식으로 정의되어야 합니다. 트리거 이벤트의 페이로드는 Cloud Code 호출을 위한 인자 세트로 사용되며, 이벤트 페이로드의 키와 일치하는 모든 정의된 파라미터가 채워집니다. 모든 이벤트 페이로드에는
projectId
,
environmentId
,
correlationId
가 자동으로 포함됩니다.
문자열 파라미터
name
이 있는 다음 스크립트를 예로 들어 보겠습니다.

JavaScript

module.exports = async ({ params, context, logger }) => { return "Hello " + params.name;};
다음과 같이 문자열 파라미터
name
이 포함된
SayHello
함수가 있을 수도 있습니다.
using Unity.Services.CloudCode.Core;namespace ExampleModule;public class MyModule{ [CloudCodeFunction("SayHello")] public string Hello(string name) { return $"Hello, {name}!"; }}
그러면 다음과 같이 일정 설정에 대한 페이로드를 정의할 수 있습니다.
{ "name": "hello-world-test", "eventName": "hello-world-test", "type": "one-time", "schedule": "2023-08-28T15:20:00Z", "payloadVersion": 1, "payload": "{\"name\": \"World\"}"}
트리거가 발동하면 페이로드 파라미터가 채워진 Cloud Code 스크립트나 모듈이 실행됩니다.