참고: Google Maps Platform 게임 서비스는 2021년 10월 18일부터 지원이 중단됩니다. 현재 사용자는 2022년 12월 31일까지 계속 이용할 수 있습니다. 이 기간 동안 주요 버그 및 중단에 대한 지원 및 수정은 계속 제공됩니다. 프로젝트의 다음 단계를 계획하는 데 도움이 되는 리소스는 게임 서비스 전환 가이드를 참조하세요.

제작 권장사항

앱을 관리하고 실행할 때 다음 권장사항을 따르는 것이 좋습니다.

API 키 보호

온라인 서비스를 사용하려면 API 키가 필요하며, 이 키를 사용하면 Google에서 사용량을 측정할 수 있습니다. 무단 사용을 방지하기 위해 API 키를 제한하는 것이 좋습니다.

API 키 제한의 유형

API 키 제한사항에는 두 가지 유형이 있으며 두 유형을 동시에 사용할 수 있습니다.

제한사항 유형키 사용 제한
API 제한사항 특정 API.
애플리케이션 제한사항 특정 IP 주소, 웹사이트 또는 앱

API 키 제한 권장사항

다음 시나리오에서는 별도의 API 키를 수수료하는 것이 좋습니다.

시나리오권장사항 추천
백엔드 게임 서버가 Playable Locations API를 호출하여 플레이어블 위치를 가져옵니다. 두 가지 제한으로 키를 구성합니다.
  • API 제한: Playable Locations API에 대한 호출만 허용합니다.
  • 애플리케이션 제한: 백엔드 게임 서버의 IP 주소에서만 시작되는 호출을 허용합니다.
Android 버전의 앱은 Unity용 Maps SDK를 호출하여 지역 데이터를 검색합니다. 애플리케이션 제한사항으로 키를 구성하여 Android 버전의 앱만 호출하는 것을 허용합니다.
iOS 버전의 앱은 Maps SDK for Unity API를 호출하여 지리 데이터를 검색합니다. iOS 버전의 앱에서만 호출을 허용하도록 애플리케이션 제한사항으로 키를 구성합니다.

API 보안 권장사항에서 자세한 내용을 확인하세요.

API 키 제한 설정

  1. Google Cloud Console에서 사용자 인증 정보 패널로 이동합니다.
  2. 제한사항을 설정할 API 키를 선택합니다. API 키 속성 페이지가 나타납니다.
  3. 키 제한사항에서 애플리케이션 제한사항 탭을 선택한 후 네 가지 애플리케이션 제한사항 유형 중 하나를 선택합니다.
    제한사항 유형 설명
    HTTP 리퍼러 제공한 웹사이트 목록에서 요청을 수락합니다.
    IP 주소 제공한 웹 서버 IP 주소 목록에서 요청을 수락합니다.
    Android 앱 Android 앱의 사용량을 제한하려면 패키지 이름과 SHA-1 서명 인증서 디지털 지문을 추가하세요.
    iOS 앱 제공한 번들 식별자가 있는 iOS 앱의 요청을 수락합니다.
  4. 키 제한사항에서 API 제한사항 탭을 선택한 후 API 키를 제한하려는 API를 선택합니다.
  5. 저장을 클릭합니다.

API 키 업데이트 지원

서빙 스택에서 API 키를 업데이트할 수 있는 인프라가 있어야 합니다. 이렇게 하면 API 키가 손상되어도 게임을 복구할 수 있으며 예고 없이 키를 갱신해야 합니다.

애플리케이션마다 별도의 키를 사용하므로 다른 앱에 영향을 주지 않고 키 하나를 쉽게 교체할 수 있습니다.

게임 서버 안전 권장사항

Playable Locations API 서버가 어떤 이유로든 서비스 중단이 발생하면 온라인에 다시 연결되었을 때(여러 게임 서버가 동시에 다시 연결하려고 할 때) 문제가 발생합니다. 이러한 QPS 급증은 서버를 DoS 모드로 전송할 수 있으며, 이는 들어오는 트래픽을 차단하여 상황을 악화시킵니다.

이 상황을 완화하기 위해 게임 서버에 바이너리 지수 백오프를 구현할 것을 요청합니다. 이는 연결 재시도의 간격을 체계적으로 지정하는 방법입니다. 특히 재연결 시도가 실패한 후 다시 시도하기 전에 N초 동안 대기하는 알고리즘을 구현합니다. 다음 시도가 실패하면 알고리즘이 대기 시간을 두 배로 사용한 후 다시 시도합니다. 다음 시도가 실패하면 알고리즘이 다시 대기 기간을 두 배로 늘린 후 다시 시도합니다. 최종 시도에 성공할 때까지 각 시도 후 대기 시간이 두 배로 늘어납니다.

HTTP 반환 상태 코드 처리

일부 HTTP 반환 코드에 바이너리 지수 백오프를 구현해야 합니다.

400초
이러한 오류는 일반적으로 복구되지 않는 클라이언트 오류이므로 이 오류 코드를 생성하는 실패한 요청을 재시도해도 작동하지 않습니다. 테스트 중 이러한 종류의 오류를 포착해야 합니다.
429
API 할당량을 소진하기 시작하면 발생하는 리소스 소진 오류입니다. 프로젝트의 API QPS 한도를 보려면 Google API 할당량을 방문하세요.
500년대
서버 측 오류입니다. 지수 백오프가 가장 유용합니다.