참고: 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 버전의 앱은 Unity SDK용 Maps SDK를 호출하여 지역 데이터를 검색합니다. 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 모드로 전송하여 수신 트래픽을 차단함으로써 상황을 악화시킬 수 있습니다.

이 상황을 완화하기 위해 Google은 게임 서버에 바이너리 지수 백오프를 구현할 것을 요청합니다. 이는 연결 재시도 간격에 대한 체계적인 접근 방식입니다. 특히 실패한 재연결 시도 후 N초 동안 기다린 후에 다시 시도하는 알고리즘을 구현합니다. 다음 시도가 실패하면 알고리즘이 대기 시간을 2배로 늘릴 수 있습니다. 다음 시도가 실패하면 알고리즘이 다시 대기 기간을 두 배로 늘린 후 다시 시도합니다. 각 시도 후 최종 시도가 성공할 때까지 대기 시간을 두 배로 늘립니다.

HTTP 반환 상태 코드 처리

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

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