콘텐츠로 이동

연동방식 소개

개요

연동 개요

  • 미라클플레이 API는 게임 내의 스코어/업적/각종 액션 등의 특정 데이터를 RestFul 포맷의 WebAPI 통신에 사용됩니다.
  • 미라클플레이에서 다양한 경기 방식으로 활용할 수 있도록 제공됩니다.

연동 구조

  • 게임 내 데이터가 데이터베이스에 저장되면 미라클플레이는 Join API, GameData API 2가지를 이용해 경기에 필요한 데이터를 연동합니다.
  • 이때 필요한 2개의 API는 애널리틱스를 이용해 별도의 API 구축없이 미라클플레이에 제공할 수 있습니다.

경기 룰

  • 경기 방식: Ranking Battle, Tournament Battle 2가지 방식이 존재합니다.
    • Ranking Battle: 참가자의 랭킹에 따라 상금을 부여
    • Tournament Battle: 개인/팀과 배틀을 통해 승자가 다음 라운드로 진출
  • 집계 방식: 탑 스코어, 토탈 스코어, 평균 스코어를 싱글/팀 2개로 구분하여 집계합니다.

API 연동 구현

  • Join API: 경기 참여시, 계정 유무 체크를 위한 API
    • UUID, NickName 필드가 반드시 필요
    • 애널리틱스로 로그를 전송하면 애널리틱스가 제공하는 ‘데이터 확인’ API로 Join API 대체 가능
      • 애널리틱스에 UUID, NickName 필드로 구성된 새로운 로그를 정의하거나, 사전에 정의된 ‘콘텐츠 로그’의 playerId, userId 필드로 UUID, NickName 정보 대체 가능

(25.04.07 기준) Join API 설계 예시

구분 설명 용도 타입 구성
UUID 해당 유저의 유니크ID MiraclePlay 매칭 체크 POST 필수
NickName 존재 유무를 true/false 호출 실제 게임 내 존재하는지 체크 POST 필수
ClientVer 클라이언트 버전 정보 참가자의 게임 최소 버전 일치 POST 선택
AccessKey 데이터보안을 위한 AccessKey API호출 시 필수 입력 필드값 추가
(제작사마다 방식이 다를 수 있음)
POST 선택
API URL
  • GameData API: 경기 결과를 기록하기 위한 API
    • UUID 필드가 반드시 필요
    • 이 외 필드는 게임과 경기에 따라 다름
    • 애널리틱스로 로그를 전송하면 애널리틱스가 제공하는 ‘데이터 조회’ API로 GameData API 대체 가능
      • 애널리틱스에 UUID와 API에 필요한 필드로 구성된 새로운 로그를 정의하거나, 사전에 정의된 ‘콘텐츠 로그’의 playerId 필드로 UUID 정보를 대체할 수 있고, 이 외 콘텐츠 관련된 정보로 GameData API에 필요한 필드 대체 가능

(25.04.07 기준) DataData API 설계 예시

구분 설명 용도 타입 구성
UUID 해당 유저의 유니크ID MiraclePlay 매칭 체크 POST 필수
NickName - (미라클플레이의 닉네임 사용) POST 선택
ClientVer 클라이언트 버전 정보 참가자의 플레이시 버전 체크 POST 선택
Starttime 게임을 시작한 시간 (GMT) 경기 결과 집계 POST 게임별
Endtime 게임이 종료된 시간 (GMT) 경기 결과 집계 POST 게임별
Score 기록된 결과 데이터 경기 결과 집계 POST 게임별
playTime 총 플레이 시간 경기 결과 집계 POST 게임별
AccessKey 데이터보안을 위한 AccessKey API 호출 시 필수 입력 필드값 추가
(제가사마다 방법이 다를 수 있음)
POST 선택

기타