계기

LOL(League Of Legend)이라는 게임을 오래 재밌게 했었고, 백엔드 토이프로젝트를 진행하며 많은 데이터를 가져오는 경험을 하고싶은데 Riot에서 제공해주는 API를 알게되어서 시작하게 되었습니다.

 

서론

LOL을 해봤다면 OP.GG 혹은 YOUR.GG을 통하여 전적을 검색해본 경험이 있을 것 입니다. 이러한 전적 검색 사이트들은 Riot(링크)에서 제공하는 API를 사용하여 정보를 받아옵니다. Riot API를 사용해서 롤 전적검색 사이트를 만들어 보겠습니다.

 

본론

일단, Riot API를 받아오기 위해서는 아이디가 필요합니다. 링크에서 아이디가 있는 경우 로그인하시고 없는 경우 계정을 생성해야 합니다.

 

로그인한 뒤 몇가지 사항에 동의하면 아래와 같이 RIOT API KEY가 생성됩니다.

해당 API key는 public한 프로덕트에서 사용할 수 없습니다. 개인개발용으로 RATE LIMITS이 설정되어 있습니다. 또한, 1일마다 새로운 key를 발급받아야 합니다.

 

API의 사용방법은 상단 APIS 버튼을 누르거나 링크를 눌러서 확인할 수 있습니다.

 

저는 여러 테스트를 해본 결과 아래의 SUMMONER-V4의 by-name에서 롤 닉네임으로 아이디의 정보 값을 얻어올 수 있고, 

  • id
    • LEAGUE-V4의 by-summoner에 value 값으로 넣어서 보내서 유저 정보를 긁어올 수 있음
  • profileIconId
    • 유저가 설정한 아이콘 정보를 가져올 수 있음
    • http://ddragon.leagueoflegends.com/cdn/버전정보/profileicon/아이콘번호.png
  • puuid
    • 유저의 게임 정보를 가져올 수 있음 (1판 마다 챔피언, 닉네임, 아이템 등등의 정보를 가져옴)
    • http://ddragon.leagueoflegends.com/cdn/버전정보/img/champion/챔피온이름.png

받아온 JSON 값 중 id 값을 복사하여 LEAGUE-V4by-summoner에 VALUE 값으로 넣은 뒤 보내면 tier, 닉네임, point, win 수, Lose 수 등의 정보를 얻어올 수 있습니다.

 

puuid를 이용하여 이전 게임들의 정보를 가져올 수 있습니다. response는 matchid들 입니다.

 

matchid는 아래 endpoint를 통하여 게임 정보를 가져올 수 있습니다. 한 게임에 대한 방대한 데이터를 반환해주기 때문에 직접 확인해보는게 좋을 것 같음. (게임 당 10명의 닉네임, 챔피언 등등 op.gg에서 검색되는 정보들을 가져오는 Endpoint라고 생각하면 됌)

 

이제 해당 endpoint들을 이용해서 op.gg와 같은 사이트를 만들어 봅시다.

 

 

기능 v1

  • 닉네임으로 전적을 검색할 수 있음
  • 닉네임, 레벨, 티어, 승 수, 패 수, 승률, 전적등을 볼 수 있게 함.
  • 전적 
    • 팀원의 닉네임과 승, 패를 파란색, 빨간색 으로 나눈다.
    • 팀원이 한 챔피언은 챔피언 사진으로 알 수 있도록 한다.
    • 더보기를 누르면 20개씩 추가된다.
    • 최상단은 최근 전적이다.

기능 v1은 초기 기능이며 v(숫자)를 늘리며 기능들을 추가할 예정이다.

 

기능 v2

  • 지역별로 전적을 검색할 수 있도록 함
  • 홈페이지 혹은 전적검색 화면에서 Region 탭이 존재하고 지역을 고를 수 있게한다.

 

 

 

관련 문서

 

 

+ Recent posts