원활한 웹-투-게임 통합
작동 방식
원활한 웹-투-게임 통합을 통해 URL 매개변수에서 웹사이트의 데이터를 게임으로 전송하도록 구성할 수 있습니다. 사용자의 인증 토큰, 마케팅 캠페인 데이터 또는 기타 정보를 전송할 수 있습니다.
사용자 절차
원활한 웹-투-게임 연동을 구현하는 사용자 시나리오는 다음과 같습니다.
- 링크를 클릭하여 웹사이트에서 런처 인스톨러를 다운로드하기
- 웹사이트에서 런처로 연결되는 링크 클릭하기
- 런처에서 게임 시작하기
사용자가 웹사이트에서 런처 인스톨러를 다운로드하는 링크를 클릭한 경우:
- 사용자가 웹사이트를 엽니다.
- 사용자가 링크를 따라 런처 인스톨러로 이동합니다.
- 사용자가 일회용 암호가 포함된 링크를 통해 런처 인스톨러를 다운로드합니다.
- 사용자가 런처 인스톨러를 설치합니다.
- 런처가 일회용 암호를 통해
common_payload
매개 변수 값을 수신합니다. - 사용자가 런처에서 플레이를 클릭합니다.
- 런처가
common_payload
매개 변수의 존재 여부와 만료 여부를 확인합니다.- 검사가 성공적으로 완료되면 런처가
common_payload
매개 변수에서 얻은 인수로 게임을 시작합니다. - 검사가 실패로 끝나면 다음과 같이 진행됩니다.
- 실행 파일 이름 내 관리자 페이지에 웹사이트 URL이 구성되어 있으면 런처가 사용자를 해당 주소로 리디렉션합니다.
- 실행 파일 이름 내 관리자 페이지에 웹사이트 URL이 구성되어 있지 않으면 런처가
common_payload
인수 없이 게임을 시작합니다.
- 검사가 성공적으로 완료되면 런처가
사용자가 웹사이트에서 런처로 연결되는 링크를 클릭하고 런처가 이미 설치되어 있는 경우 다음과 같은 절차대로 작업이 진행됩니다.
- 사용자가 웹사이트를 엽니다.
- 사용자가 런처 링크를 클릭합니다.
- 런처가 URL로부터
payload
,common_payload
및expires_jn
매개 변수의 값을 저장합니다. - 사용자가 런처에서 플레이를 클릭합니다.
- 런처가
payload
및common_payload
매개 변수의 존재 여부와 만료 여부를 확인합니다.- 검사가 성공적으로 완료되면 런처가
payload
및common_payload
매개 변수에서 얻은 인수로 게임을 시작합니다. - 검사가 실패로 끝나면 다음과 같이 진행됩니다.
- 실행 파일 이름 내 관리자 페이지에 웹사이트 URL이 구성되어 있으면 런처가 사용자를 해당 주소로 리디렉션합니다.
- 실행 파일 이름 내 관리자 페이지에 웹사이트 URL이 구성되어 있지 않으면 런처가
payload
및common_payload
인수 없이 게임을 시작합니다.
- 검사가 성공적으로 완료되면 런처가
사용자가 런처에서 게임을 실행하면 다음과 같은 절차대로 작업이 진행됩니다.
- 사용자가 런처를 엽니다.
- 사용자가 런처에서 플레이를 클릭합니다.
- 런처가
payload
및common_payload
매개 변수의 존재 여부와 만료 여부를 확인합니다.- 검사가 성공적으로 완료되면
payload
및common_payload
매개 변수에서 얻은 인수로 게임을 시작합니다. - 검사가 실패로 끝나면 다음과 같이 진행됩니다.
- 관리자 페이지 설정에 URL이 지정되어 있으면 런처가 사용자를 해당 URL로 리디렉션합니다.
- 실행 파일 이름 내 관리자 페이지에 웹사이트 URL이 구성되어 있지 않은 경우 런처가 사용자를 해당 주소로 리디렉션하며, 런처가
payload
및common_payload
인수 없이 게임을 시작합니다.
- 검사가 성공적으로 완료되면
획득 방법
원활한 웹-투-게임 통합 설정 방법:
관리자 페이지에서 설정 구성하기
- 관리자 페이지에서 프로젝트를 엽니다.
- 사이드 메뉴에서 런처를 클릭합니다.
- 대시보드에서 런처를 찾아 런처 편집을 클릭합니다.
- 게임 섹션에서 게임 오른쪽에 있는 설정을 클릭합니다.
- 빌드 섹션으로 이동합니다.
- 실행할 수 있는 파일 탭으로 이동합니다.
- 각 운영 체제에 대해 실행할 수 있는 파일 이름 필드에
--x_payload_url
인수를 추가합니다. 인수 값에서 링크 또는 버튼이 위치한 웹사이트 URL을 전달합니다. 이 값은 Base64 값을 사용하여 인코딩해야 합니다.
예를 들어 실행할 수 있는 파일 이름이 game.exe
이고 게임 웹사이트 URL이 http://example.com/start_play
이면 실행할 수 있는 파일 이름 필드에 game.exe –x_payload_url aHR0cDovL2V4YW1wbGUuY29tL3N0YXJ0X3BsYXk=
를 입력합니다.
웹사이트에 링크 추가하기
웹사이트에 xl-<launcher-id>://game/<game-id>?payload=<payload>&common_payload=<common_payload>&expires_in=<expires_in>
형식으로 URL을 여는 링크나 버튼을 추가합니다.
- 여기서
<launcher-id>
및<game-id>
-https://publisher.xsolla.com/<merchant-id>/projects/<project-id>/new-launcher/<launcher-id>/game/<game-id>
와 같이 관리자 페이지의 URL에서 찾을 수 있는 런처 및 게임의 식별자입니다. <payload>
- 게임에 전달해야 하는 데이터입니다.<common_payload>
- 런처에 전달해야 하는 사용자 데이터로, 모든 게임에 공통으로 적용됩니다.<expires_in>
- 유닉스 시간 형식의payload
및common_payload
매개 변수에서 전달되는 데이터의 만료 시간(밀리초 단위)입니다.
- javascript
function getAuthToken() {
return 'YOUR DATA HERE';
}
function getDeeplink(launcherID, gameID) {
const encodedPayload = btoa(getAuthToken());
const expiresIn = new Date();
expiresIn.setHours(expiresIn.getHours() + 1); // Payload data will be fresh for 1 hour
return `xl-${launcherID}://game/${gameID}?payload=${encodedPayload}&expires_in=${expiresIn.getTime()}`;
}
// Put that `href` to button or link address
const href = getDeeplink(123, 4567);
게임 측 통합
런처는 아래 예시와 같이 payload
매개 변수에서 수신한 데이터를 –xsolla-payload
명령줄 인수의 값으로 전달합니다. 또한 아래 예시와 같이 common_payload
매개 변수로 전달된 데이터의 존재 여부와 수명을 확인하여 –xsolla-common-payload
명령줄 인수의 값으로 전달합니다.
Base64를 사용하여 데이터를 암호화했을 때 게임을 시작하는 예시:
game.exe ---xsolla-payload <payload> --xsolla-common-payload <common_payload> WU9VUiBEQVRBIEhFUkU=
오자 또는 기타 텍스트 오류를 찾으셨나요? 텍스트를 선택하고 컨트롤+엔터를 누르세요.