Unity WebGL 통합
해당 가이드에서는 Unity WebGL 게임 클라이언트를 Game Hub와 통합하여 플레이어가 Game Hub 플랫폼에서 게임에 액세스할 수 있도록 하는 방법을 설명합니다.
1. 유니티 클라이언트 구축 및 설정
WebGL 템플릿 추가
Game Hub 에서 Unity 클라이언트를 빌드하려면 제공된 WebGL 템플릿을 Unity 프로젝트에 추가하여 시작하세요. 프로젝트 파일에 패키지를 드래그하여 드롭합니다. 코드 참조를 보려면 여기의 예제 프로젝트를 참조하세요.
WebGL용으로 구성하고 빌드하기
Unity 프로젝트를 WebGL 대상으로 빌드하도록 구성하고 WebGL 템플릿이 올바르게 적용되었는지 확인하세요. Unity Project Settings에서 WebGL 플랫폼 템플릿을 Aghanim으로 설정하세요. 출력 파일을 Game Hub에 호스팅할 수 있도록 빌드 프로세스를 완료하세요.
빌드 파일 호스팅
Unity 게임 빌드는 두 가지 옵션 중 하나를 사용하여 Game Hub에서 호스팅할 수 있습니다:
-
Aghanim CDN에서 호스팅:
build.zip파일을 Aghanim 팀에게 보내면 Aghanim CDN에서 호스팅됩니다. -
외부 호스팅: 게임을 외부에 호스팅할 경우, 통합을 위해 압축 해제된 WebGL 빌드의
index.html파일 URL을 제공하세요.
2. 게임 허브에서 플레이어 권한 부여
토큰 기반 사용자 권한 부여
사용자가 Game Hub에 로그인하고 'Play'를 클릭하면 Game Hub는 게임 iframe을 열고 URL의 쿼리 문자열에 일회성 토큰을 포함합니다.
토큰 가져오기 및 전 송
Unity 클라이언트는 URL에서 토큰을 추출하여 게임 백엔드로 보내서 검증해야 합니다.
게임 백엔드에서 사용자 인증
게임 백엔드는 사용자 인증 엔드포인트를 사용하여 토큰을 인증합니다.
요청 형식:
{
"token": "819e1c655ab5188f8055494cfd8493b665071f57e280597203c7802e734aebf0"
}
연결된 플레이어가 없는 사용자의 성공 응답 형식:
{
"id": "usr_eCEGnkEHeKA",
"name": "Player6739",
"player_id": "7d7cc29d277844adb6c89b239facbfbd",
"facebook_id": "1234567890",
"telegram_id": null
}
연결된 플레이어가 없는 사용자의 성공 응답 형식:
{
"id": "usr_eCEGnkEHeKA",
"name": "Player6739",
"player_id": null,
"facebook_id": "1234567890",
"telegram_id": null
}
응답이 성공하고 사용자가 연결된 플레이어를 가지고 있는 경우 게임 백엔드는 플레이어를 직접 인증해야 합니다. 사용자에게 연결된 플레이어가 없으면 게임 백엔드는 새로운 플레이어를 생성하고 사용자가 연결합니다.
3. 플레이어 연결
플레이어 연결 여부 확인
사용자에게 플레이어를 연결하기 전에 사용자 가져오기 엔드포인트를 사용하여 플레이어가 다른 사용자에게 이미 연결되어 있는지 확인하세요.
성공 응답 형식:
{
"id": "usr_eCEGnkEHeKA",
"name": "Player6739",
"player_id": "7d7cc29d277844adb6c89b239facbfbd",
"facebook_id": "1234567890",
"telegram_id": null
}
플레이어 연결
플레이어를 사용자에게 연결하려면 플레이어 연결 엔드포인트를 사용하세요.
요청 형식:
{
"player_id": "7d7cc29d277844adb6c89b239facbfbd"
}
성공 응답 형식:
{
"id": "usr_eCEGnkEHeKA",
"name": "Player6739",
"player_id": "7d7cc29d277844adb6c89b239facbfbd",
"facebook_id": "1234567890",
"telegram_id": null
}
플레이어 연결 해제
사용자에게서 플레이어 연결을 해제하려면 플레이어 연결 해제 엔드포인트를 사용하세요.
요청 형식:
{
"player_id": "7d7cc29d277844adb6c89b239facbfbd"
}
성공 응답 형식:
{
"id": "usr_eCEGnkEHeKA",
"name": "Player6739",
"player_id": null,
"facebook_id": "1234567890",
"telegram_id": null
}
4. Aghanim 플랫폼의 게임 내 구매
URL을 통한 아이템 구매
플레이어는 다음 URL 형식을 사용하여 체크아웃 페이지를 열어 게임 내 구매를 할 수 있습니다:
https://{your-game-hub-domain}/go/checkout?player_id={PLAYER_ID}&item_sku={SKU}
선택적으로, 다음 쿼리 매개 변수를 포함하여 체크아웃 페이지를 사용자 정의할 수 있습니다:
locale: 플레이어의 로케일item_name: 아이템의 이름item_description: 아이템의 설명item_image_url: 아이템 이미지의 URL
SDK를 통한 아이템 구매
또는 AghanimSDK.PurchaseItem(string sku) 메소드를 사용하여 게임 클라이언트 내에서 구매 흐름을 시작할 수 있습니다.
5. 게스트 플레이어 진행 상황 저장
게임이 게스트 플레이어를 지원한다면 AghanimSDK.Authorize(string playerId, string playerName)을 사용하여 Game Hub의 인증 흐름을 시작할 수 있습니다. 성공적인 인증 후, Game Hub는 일회성 토큰이 포함된 iframe URL과 함께 사용자를 게임 클라이언트로 되돌리고, 이 토큰은 게스트 플레이어를 사용자에 연결하는 데 사용될 수 있습니다.
도움이 필요하세요?
통합팀에 문의하십시오 integration@aghanim.com