원활한 웹-투-게임 통합

작동 방식

원활한 웹-투-게임 통합을 통해 URL 매개변수에서 웹사이트의 데이터를 게임으로 전송하도록 구성할 수 있습니다. 사용자의 인증 토큰, 마케팅 캠페인 데이터 또는 기타 정보를 전송할 수 있습니다.

사용자 절차

원활한 웹-투-게임 통합을 구현할 때의 사용자 시나리오:

  • 웹사이트에서 런처로 연결되는 링크를 클릭합니다.
  • 런처에서 게임을 시작합니다.

사용자가 웹사이트에서 런처로 연결된 링크를 클릭하면 다음과 같은 작업 절차가 진행됩니다.

  1. 사용자가 웹사이트를 엽니다.
  2. 사용자가 런처로 연결되는 링크를 클릭합니다.
  3. 런처가 URL로부터 payload 매개변수의 값을 저장합니다.
  4. 사용자가 런처에서 플레이를 클릭합니다.
  5. 런처가 payload 매개변수의 존재 여부와 만료 일정을 확인합니다.
    • 확인이 성공적으로 긑나면 런처가 payload 매개변수에서 구한 인수를 사용해 게임을 시작합니다.
    • 확인이 성공적으로 끝나지 않은 경우:
      • 관리자 페이지 설정에 URL이 지정되어 있으면 런처가 해당 URL로 사용자를 리디렉션합니다.
      • 관리자 페이지 설정에 URL이 지정되어 있지 않으면 런처가 게임을 시작합니다.

사용자가 런처에서 게임을 시작하면 다음과 같은 작업 절차가 진행됩니다.

  1. 사용자가 런처를 엽니다.
  2. 사용자가 런처에서 플레이를 클릭합니다.
  3. 런처가 payload 매개변수의 존재 여부와 만료 일정을 확인합니다.
    • 확인이 성공적으로 끝나면 런처는 웹사이트 링크에서 마지막 런처 실행 시 구한 payload 매개변수에서 받은 인수로 게임을 실행합니다.
    • 확인이 성공적으로 끝나지 않은 경우:
      • 관리자 페이지 설정에 URL이 지정되어 있으면 런처가 해당 URL로 사용자를 리디렉션합니다.
      • 관리자 페이지 설정에 URL이 지정되어 있지 않으면 런처가 게임을 시작합니다.

획득 방법

원활한 웹-투-게임 통합 설정 방법:

  1. 관리자 페이지에서 설정을 구성합니다.
  2. 웹사이트에 링크를 추가합니다.
  3. 게임 측에서 페이로드 매개변수에서 수신한 데이터의 처리를 구현합니다.

관리자 페이지에서 설정 구성하기

  1. 관리자 페이지에서 프로젝트를 엽니다.
  2. 사이드 메뉴에서 런처를 클릭합니다.
  3. 대시보드에서 런처를 찾아 런처 편집을 클릭합니다.
  4. 게임 섹션에서 게임 오른쪽에 있는 설정을 클릭합니다.
  5. 빌드 섹션으로 이동합니다.
  6. 실행할 수 있는 파일 탭으로 이동합니다.
  7. 각 운영 체제에 대해 실행할 수 있는 파일 이름 필드에 --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
Full screen
Small screen

    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
    Full screen
    Small screen

      game.exe --xsolla-payload WU9VUiBEQVRBIEhFUkU=

      이 기사가 도움이 되었나요?
      감사합니다!
      개선해야 할 점이 있을까요? 메시지
      유감입니다
      이 기사가 도움이 안 된 이유를 설명해 주세요. 메시지
      의견을 보내 주셔서 감사드립니다!
      메시지를 검토한 후 사용자 경험 향상에 사용하겠습니다.
      이 페이지 평가
      이 페이지 평가
      개선해야 할 점이 있을까요?

      답하기 원하지 않습니다

      의견을 보내 주셔서 감사드립니다!
      마지막 업데이트: 2023년 4월 5일

      오자 또는 기타 텍스트 오류를 찾으셨나요? 텍스트를 선택하고 컨트롤+엔터를 누르세요.

      문제 보고
      콘텐츠를 항상 검토합니다. 여러분의 피드백은 콘텐츠를 개선에 도움이 됩니다.
      후속 조치를 위해 이메일을 제공해 주세요
      의견을 보내 주셔서 감사드립니다!