Unity SDK

MAJACLOUD의 주력 SDK입니다. async/await 및 코루틴 API, 설정 창, Starter 샘플을 갖춘 Unity용 C# SDK입니다.

코드 주석과 API 이름은 SDK와 일치하도록 영어로 유지합니다.

이 페이지의 내용

요구 사항#

  • Unity 6을 포함한 Unity 2021.3 LTS 이상. SDK에는 렌더링 코드가 없으므로 Built-in, URP, HDRP 모두에서 작동합니다.
  • Unity 기본 제공 모듈(UnityWebRequest, JSON, uGUI)만 사용합니다. 샘플은 TextMesh Pro를 사용합니다.
  • 에디터, Windows, macOS, Linux, Android, iOS, WebGL. 스레드를 사용하지 않으므로 WebGL에서도 async/await를 안전하게 쓸 수 있습니다. IL2CPP에서도 안전합니다.

설치#

  1. 프로젝트 페이지나 다운로드 페이지에서 .unitypackage를 다운로드합니다.
  2. Unity에서 Assets ▸ Import Package ▸ Custom Package…를 선택하고, 파일을 고른 뒤 전체를 임포트합니다.
  3. 샘플용 TMP Essentials를 임포트하라는 메시지가 표시되면 수락합니다.

모든 파일은 Assets/Majacloud에 있으며 Runtime(SDK), Editor(설정 도구), Samples/Starter, Tests로 구성됩니다.

프로젝트 연결#

Tools ▸ Majacloud ▸ Setup(Project Settings ▸ Majacloud에도 있음)은 Assets/Resources/MajacloudSettings.asset을 생성합니다. SDK는 첫 씬이 로드되기 전에 이 파일로 자동 초기화됩니다.

필드값
Base URL이 설치의 주소입니다. https://majacloud.majanite.com
Project ID대시보드 ▸ API 키.
Client Keypk_live_로 시작하는 공개 키입니다. 빌드에 포함해도 안전합니다.

Test connection은 프로젝트 이름, 플랜, 원격 구성 공개 키를 저장합니다. 이 공개 키로 서명 검증 대상이 내 서버로 고정됩니다.

시크릿 키(sk_live_…)를 게임 빌드나 웹 페이지에 절대 넣지 마세요. 플레이어에게 배포된 것은 무엇이든 읽힐 수 있습니다.

코드로 구성하기#

런타임에 설정을 만들 수도 있습니다. 예를 들어 개발 빌드가 스테이징 서버를 가리키도록 할 때 사용합니다:

C#
// Switch environments from code (e.g. a staging server in development builds)
var settings = ScriptableObject.CreateInstance<MajacloudSettings>();
settings.Configure("https://staging.yourstudio.com", "<project id>", "pk_live_…");
Majacloud.Initialize(settings);

async와 코루틴#

모든 async 메서드(…Async)에는 콜백을 받는 코루틴 버전이 있어, async/await를 사용하지 않는 코드에서도 쓸 수 있습니다.

C#
// Every async method has a coroutine version with a callback
StartCoroutine(Majacloud.Leaderboards.GetTop("coins", 10, result =>
{
    if (result.Ok) Debug.Log(result.Value.Total + " players");
}));

Starter 샘플#

Samples/Starter/Scenes/MajacloudStarter.unity에는 Leaderboard, Cloud save, Rewards, Config, Account의 다섯 탭이 있습니다. Starter 샘플 콘텐츠 추가로 생성되는 콘텐츠가 필요합니다.

Samples/Starter/Prefabs에 재사용 가능한 프리팹 MajacloudLeaderboardView, MajacloudPlayerBadge, MajacloudDailyRewardButton이 있습니다. UI에 배치하고 인스펙터에서 슬러그나 보상 키를 설정하세요.

WebGL과 모바일#

  • WebGL 빌드는 HTTPS로 제공하세요. 브라우저는 https:// 페이지에서 보내는 http:// 요청을 차단합니다. API는 WebGL에 필요한 CORS 헤더를 이미 보냅니다.
  • 브라우저는 클릭으로만 새 탭을 엽니다. WebGL에서 계정을 연결할 때는 플로우를 먼저 시작해 두고 버튼 핸들러 안에서 여세요(플레이어 참고).
  • 내 컴퓨터의 서버를 대상으로 휴대폰에서 테스트할 때도 HTTPS가 필요합니다(개발용으로만, 서버에 ALLOW_INSECURE_HTTP를 설정하고 Player Settings에서 HTTP 다운로드를 허용하는 방법도 있습니다).
메뉴 항목기능
Tools ▸ Majacloud ▸ Setup키, 연결 테스트, 동작 설정.
Tools ▸ Majacloud ▸ Open Starter SampleStarter 씬을 엽니다.
Tools ▸ Majacloud ▸ Rebuild Starter SampleStarter 씬과 프리팹을 다시 생성합니다.
Tools ▸ Majacloud ▸ Export .unitypackageSDK를 .unitypackage로 내보냅니다.

페이지 제목, 섹션 제목, 본문에서 검색합니다.

↑↓ 이동 ↵ 열기 Esc 닫기