콘텐츠로 이동

크로스플레이 런처 원격 실행 API

개요

크로스플레이 런처 원격 실행 API는 크로스플레이 런처로 게임 실행 중 의도치 않게 게임이 종료되는 경우, 실행 중인 PC 목록을 조회하고 특정 PC를 선택하여 원격 실행하는 기능을 제공합니다.

크게 PC 목록 조회 APIPC 원격 실행 API로 구성됩니다.

사전 조건

  • Hive SDK v4.24.4.0 이상의 Windows 버전
  • Crossplay Launcher 1.0.16.0 이상

기본 동작 플로우

  • 게임별로 원격 실행 사용여부 설정

    Note

    현재는 수동으로 원격 실행 사용여부 설정 기능만 지원하며, 자동 설정 기능은 추후 제공 예정입니다.

  • 크로스플레이 런처를 통해 Windows PC에서 게임 실행

  • 게임에서 PC 목록 조회 API를 호출하여 크로스플레이 런처로 실행 중인 PC 목록 조회
  • 조회 결과, PC 목록에서 선택한 PC 정보를 가지고 PC 원격 실행 API를 호출
    (선택된 PC로 외부 자동로그인 토큰을 전달합니다.)
  • 외부 자동 로그인 토큰을 통해 크로스플레이 런처에서 게임 재접속 및 자동로그인 진행

PC 목록 조회 API

현재 크로스플레이 런처를 통해 실행 중인 PC이면서, 원격 실행이 가능한 PC 목록을 조회하는 API입니다.

Note
  • 토큰 검증 API를 통해 검증하여 유효한 요청일 경우에만 PC 목록 조회가 가능합니다.

Request URL 및 조건

구분 URL 및 조건
상용 URL https://api-launcherplay.withhive.com/api/pc/list
SANDBOX URL https://sandbox-api-launcherplay.withhive.com/api/pc/list
HTTP Method PUT
Data Format JSON

Request header

필드명 설명 타입 필수여부
Content-Type application/json String Y
Authorization Bearer 토큰키
(로그인 성공 후 반환된 토큰키)
String Y

Request header sample

Content-Type : application/json
Authorization : Bearer b630b963152efa1f97a8c066831222

Request body

필드명 설명 타입 필수여부
appId 로그인한 게임의 AppID String Y
playerId 로그인 성공 후 반환된 V4인증 PlayerID String Y
did 로그인 성공 후 반환된 DID String Y

Request body sample

{
    "appId" : "com.com2us.hivesdk.normal.freefull.google.global.android.common",
    "playerId" : "20000023036",
    "did" : "304166094"
}

Response body

필드명 설명 타입
code 응답 결과 코드 Integer
msg 응답 결과 메시지 String
data 실행 가능한 PC 목록 Array
pc_name PC명 String
did 기기 정보 String

Response body sample

{
    "code": 100,
    "msg": "success",
    "data": [
        {
            "pc_name" : "pc1",
            "did" : "304162817",
        },
        {
            "pc_name" : "pc2",
            "did" : "304166094"
        },
        ...
    ]
}

응답 코드 명세

code msg description
100 success 성공
101 success(not exist) 성공
└ 단, 현재 원격 실행 가능한 리스트가 없으므로 data는 리턴하지 않음
400 fail(Authorization parameter error) 유효하지 않은 헤더 파라미터
└ Authorization
401 fail(method error) 유효하지 않은 HTTP METHOD로 요청
402 fail(request parameter error) request 파라미터가 존재하지 않음
403 fail(appId parameter error) 유효하지 않은 파라미터
└ appId
404 fail(playerId parameter error) 유효하지 않은 파라미터
└ playerId
405 fail(did parameter error) 유효하지 않은 파라미터
└ did
500 fail(hiveCertificationKey error) 해당하는 게임 정보(Hive 인증키) 조회 실패
501 fail(####) 그 외 인증서버 검증 진행 중, #### 에러가 발생
502 fail(####) 그 외 PC목록 조회 진행 중, #### 에러가 발생
503 fail(####) PC 목록 조회를 위해 Redis 접근 시, #### 에러가 발생
900 fail(curl error - ####) 인증서버 검증 진행 중, api 호출 시 curl 에러 발생(#### 에러 발생)
901 fail(api error - ####) 인증서버 검증 실패(#### 에러 발생)

PC 원격 실행 API

PC 목록 조회 API 요청 후 조회된 PC 목록 중 선택된 PC에서 원격 실행하도록 토큰 정보를 전달하는 API입니다.

Note

  • 해당 API에서는 선택된 PC로 외부 자동로그인 토큰을 전달하며, 실제 원격 실행(게임접속 및 자동로그인)은 크로스플레이 런처에서 동작합니다.
  • 토큰 검증 API를 통해 검증하여 유효한 요청일 경우만 이용 가능합니다.

Request URL 및 조건

구분 URL 및 조건
상용 URL https://api-launcherplay.withhive.com/api/pc/remoteplay
SANDBOX URL https://sandbox-api-launcherplay.withhive.com/api/pc/remoteplay
HTTP Method POST
Data Format JSON

Request header

필드명 설명 타입 필수여부
Content-Type application/json String Y
Authorization Bearer 토큰키
(로그인 성공 후 반환된 토큰키)
String Y

Request header sample

Content-Type : application/json
Authorization : Bearer b630b963152efa1f97a8c066831222

Request body

필드명 설명 타입 필수여부
appId 로그인한 게임의 AppID String Y
playerId 로그인 성공 후 반환된 V4인증 PlayerID String Y
did 로그인 성공 후 반환된 DID String Y
idpUserId 로그인 성공 후 IDP에서 주는 회원 ID값 String Y
idpIndex IDP INDEX 정보
1: HIVE
2: Facebook
3: GOOGLE
9: APPLE
Integer Y
selected_did /api/pc/list 조회 결과 중, 선택한 PC의 did String Y
selected_pcName /api/pc/list 조회 결과 중, 선택한 PC의 pc_name String Y

Request body sample

{
    "appId" : "com.com2us.hivesdk.normal.freefull.google.global.android.common",
    "playerId" : "20000023036",
    "did" : "304166094",
    "idpUserId" : "68261324",
    "idpIndex" : 1,
    "selected_did" : "304162817",
    "selected_pcName" : "pc1"
}

Response body

필드명 설명 타입
code 응답 결과 코드 Integer
msg 응답 결과 메시지 String

Response body sample

{
    "code" : 100,
    "msg" : "success"
}

응답 코드 명세

code msg description
100 success 성공
400 fail(Authorization parameter error) 유효하지 않은 헤더 파라미터
└ Authorization
401 fail(request parameter error) request 파라미터가 존재하지 않음
402 fail(appId parameter error) 유효하지 않은 파라미터
└ appId
403 fail(playerId parameter error) 유효하지 않은 파라미터
└ playerId
404 fail(did parameter error) 유효하지 않은 파라미터
└ did
405 fail(idpUserId parameter error) 유효하지 않은 파라미터
└ idpUserId
406 fail(idpIndex parameter error) 유효하지 않은 파라미터
└ idpIndex
407 fail(selected_did parameter error) 유효하지 않은 파라미터
└ selected_did
408 fail(selected_pcName parameter error) 유효하지 않은 파라미터
└ selected_pcName
409 fail(method error) 유효하지 않은 HTTP METHOD로 요청
500 fail(hiveCertificationKey error) 해당하는 게임 정보(Hive 인증키) 조회 실패
501 fail(####) 인증서버 검증 진행 중, #### 에러가 발생
502 fail(current not exist or not available) 선택된 PC 정보가 현재 연결되어있지 않아 실패
503 fail(####) 선택된 PC 정보 확인을 위해 Redis 접근 시, #### 에러가 발생
504 fail(more than 2 exist) 선택된 PC 정보에 해당하는 연결이 2개 이상일 경우 실패
└ 참고 : playerId, did, PC명 세 가지가 모두 동일할 경우에 발생
505 fail(####) 선택된 PC 정보 확인 진행 중, #### 에러가 발생
506 fail(####) 외부 자동 로그인 토큰 관련 정보(enc_idp 및 web_idp_token) 획득 진행 중, #### 에러가 발생
507 fail(publish error) 선택된 PC에 외부 자동 로그인 토큰 전달 실패
ᄂ 참고 : 메시지를 전달받은 PC의 수가 1보다 작을 때 발생(redis publish 결과값)
508 fail(####) 선택된 PC에 외부 자동 로그인 토큰 전달을 위해 Redis 접근 시, #### 에러가 발생
509 fail(####) 선택된 PC에 외부 자동 로그인 토큰 전달 진행중, #### 에러가 발생
900 fail(curl error - ####) 인증서버 검증 진행 중, api 호출 시 curl 에러 발생(#### 에러 발생)
901 fail(api error - ####) 인증서버 검증 실패(#### 에러 발생)
902 fail(curl error - ####) 외부 자동 로그인 토큰 획득을 위한 enc_idp 값 획득 진행 중, api 호출 시 curl 에러 발생(#### 에러 발생)
903 fail(api error - ####) 외부 자동 로그인 토큰 획득을 위한enc_idp 값 획득 실패(#### 에러 발생)
904 fail(curl error - ####) 외부 자동 로그인 토큰(web_idp_token) 획득 진행 중, api 호출 시 curl 에러 발생(#### 에러 발생)
905 fail(api error - ####) 외부 자동 로그인 토큰(web_idp_token) 획득 실패(#### 에러 발생)