원활한 웹-투-게임 통합
작동 방식
원활한 웹-투-게임 통합을 통해 URL 매개변수에서 웹사이트의 데이터를 게임으로 전송하도록 구성할 수 있습니다. 사용자의 인증 토큰, 마케팅 캠페인 데이터 또는 기타 정보를 전송할 수 있습니다.
사용자 절차
원활한 웹-투-게임 통합을 구현할 때의 사용자 시나리오:
- 웹사이트에서 런처로 연결되는 링크를 클릭합니다.
- 런처에서 게임을 시작합니다.
사용자가 웹사이트에서 런처로 연결된 링크를 클릭하면 다음과 같은 작업 절차가 진행됩니다.
- 사용자가 웹사이트를 엽니다.
- 사용자가 런처로 연결되는 링크를 클릭합니다.
- 런처가 URL로부터
payload
매개변수의 값을 저장합니다. - 사용자가 런처에서 플레이를 클릭합니다.
- 런처가
payload
매개변수의 존재 여부와 만료 일정을 확인합니다.- 확인이 성공적으로 긑나면 런처가
payload
매개변수에서 구한 인수를 사용해 게임을 시작합니다. - 확인이 성공적으로 끝나지 않은 경우:
- 관리자 페이지 설정에 URL이 지정되어 있으면 런처가 해당 URL로 사용자를 리디렉션합니다.
- 관리자 페이지 설정에 URL이 지정되어 있지 않으면 런처가 게임을 시작합니다.
- 확인이 성공적으로 긑나면 런처가
사용자가 런처에서 게임을 시작하면 다음과 같은 작업 절차가 진행됩니다.
- 사용자가 런처를 엽니다.
- 사용자가 런처에서 플레이를 클릭합니다.
- 런처가
payload
매개변수의 존재 여부와 만료 일정을 확인합니다.- 확인이 성공적으로 끝나면 런처는 웹사이트 링크에서 마지막 런처 실행 시 구한
payload
매개변수에서 받은 인수로 게임을 실행합니다. - 확인이 성공적으로 끝나지 않은 경우:
- 관리자 페이지 설정에 URL이 지정되어 있으면 런처가 해당 URL로 사용자를 리디렉션합니다.
- 관리자 페이지 설정에 URL이 지정되어 있지 않으면 런처가 게임을 시작합니다.
- 확인이 성공적으로 끝나면 런처는 웹사이트 링크에서 마지막 런처 실행 시 구한
획득 방법
원활한 웹-투-게임 통합 설정 방법:
관리자 페이지에서 설정 구성하기
- 관리자 페이지에서 프로젝트를 엽니다.
- 사이드 메뉴에서 런처를 클릭합니다.
- 대시보드에서 런처를 찾아 런처 편집을 클릭합니다.
- 게임 섹션에서 게임 오른쪽에 있는 설정을 클릭합니다.
- 빌드 섹션으로 이동합니다.
- 실행할 수 있는 파일 탭으로 이동합니다.
- 각 운영 체제에 대해 실행할 수 있는 파일 이름 필드에
--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>&expires_in=<expires_in>
형식으로 URL을 여는 웹사이트에 링크 또는 버튼을 추가합니다. 구성 요소는 다음과 같습니다.
<launcher-id>
와<game-id>
- 다음과 같은 관리자 페이지 URL에서 찾을 수 있는 런처 및 게임의 식별자입니다. 해당 관리자 페이지 URL:https://publisher.xsolla.com/<merchant-id>/projects/<project-id>/new-launcher/<launcher-id>/game/<game-id>
<payload>
- 게임에 전달되어야 하는 데이터입니다.
알림
안전한 전송을 위해 URL 매개변수로 Base64 또는 urlencoder.org를 사용하여 데이터를 암호화하는 것이 좋습니다.
<expires_in>
- Unix 시간 형식으로 페이로드 매개변수에서 전달된 데이터의 만료 시간입니다.
Copy
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);
게임 측 통합
게임이 --xsolla-payload
인수에서 데이터를 수신합니다. 선택한 암호화 방식에 따라 게임이 데이터 암호화를 구현합니다.
Base64를 사용하여 데이터를 암호화했을 때 게임을 시작하는 예시:
Copy
game.exe --xsolla-payload WU9VUiBEQVRBIEhFUkU=
이 기사가 도움이 되었나요?
의견을 보내 주셔서 감사드립니다!
메시지를 검토한 후 사용자 경험 향상에 사용하겠습니다.이 페이지 평가
이 페이지 평가
답하기 원하지 않습니다
의견을 보내 주셔서 감사드립니다!
오자 또는 기타 텍스트 오류를 찾으셨나요? 텍스트를 선택하고 컨트롤+엔터를 누르세요.