시작하기 전에
Android용 Places SDK를 사용하려면 먼저 결제 계정이 있고 Android용 Places SDK가 사용 설정된 프로젝트가 필요합니다. 자세한 내용은 Cloud Console에서 설정하기를 참고하세요.
API 키 만들기
API 키는 사용 및 결제에 관한 프로젝트와 관련된 요청을 인증하는 고유 식별자입니다. 프로젝트에 연결된 API 키가 하나 이상 있어야 합니다.
API 키를 만들려면 다음 단계를 따르세요.
Console
-
Google Maps Platform > 사용자 인증 정보 페이지로 이동합니다.
-
사용자 인증 정보 페이지에서 사용자 인증 정보 만들기 > API 키를 클릭합니다.
API 키 생성 완료 대화상자에 새로 만든 API 키가 표시됩니다. -
닫기를 클릭합니다.
새 API 키는 사용자 인증 정보 페이지의 API 키 아래 나열됩니다.
(프로덕션에 사용하기 전에 API 키를 제한하세요.)
Cloud SDK
gcloud alpha services api-keys create \ --project "PROJECT" \ --display-name "DISPLAY_NAME"
Google Cloud SDK, Cloud SDK 설치 및 다음 명령어에 대해 자세히 알아보세요.
API 키 제한
API 키를 애플리케이션에 필요한 API에서만 사용하도록 제한하는 것이 좋습니다. API 키를 제한하면 불필요한 요청으로부터 애플리케이션이 보호되어 애플리케이션의 보안이 강화됩니다. API 보안 권장사항에서 자세한 내용을 확인하세요.
API 키를 제한하는 경우 애플리케이션에 서명하는 데 사용된 서명 키의 SHA-1 인증서 디지털 지문을 제공해야 합니다. 다음과 같은 두 가지 인증서 유형이 있습니다.
- 디버그 인증서: 테스트 중인 앱 및 기타 비프로덕션 코드에서만 이 인증서 유형을 사용합니다. 디버그 인증서로 서명된 앱은 게시하지 마세요. Android SDK 도구는 디버그 빌드 실행 시 이 인증서를 자동으로 생성합니다.
- 출시 인증서: 앱을 앱 스토어에 출시할 준비가 되면 이 인증서를 사용합니다. Android SDK 도구는 출시 빌드 실행 시 이 인증서를 생성합니다.
디지털 인증서에 대한 자세한 내용은 앱 서명 관련 가이드를 참고하세요.
인증서 디지털 지문 가져오기에 대한 자세한 내용은 클라이언트 인증을 참고하세요. 대신 Play 앱 서명을 사용 중이라면 Play Console에서 앱 서명 페이지로 이동해 인증서 디지털 지문을 가져와야 합니다.
API 키를 제한하는 방법은 다음과 같습니다.
Console
-
Google Maps Platform > 사용자 인증 정보 페이지로 이동합니다.
- 제한을 설정할 API 키를 선택합니다. API 키 속성 페이지가 나타납니다.
- 키 제한사항에서 다음 제한사항을 설정합니다.
- 애플리케이션 제한:
- Android 앱을 선택합니다.
- + 패키지 이름 및 디지털 지문 추가를 클릭합니다.
- 패키지 이름과 SHA-1 인증서 디지털 지문을 입력합니다. 예를 들면 다음과 같습니다.
com.example.android.mapexample
BB:0D:AC:74:D3:21:E1:43:67:71:9B:62:91:AF:A1:66:6E:44:5D:75
- API 제한:
- 키 제한을 클릭합니다.
- API 선택 드롭다운에서 Places API를 선택합니다. Places API가 표시되지 않으면 사용 설정해야 합니다.
- 변경을 완료하려면 저장을 클릭합니다.
Cloud SDK
기존 키를 나열합니다.
gcloud services api-keys list --project="PROJECT"
기존 키에 대한 기존 제한을 삭제합니다.
gcloud alpha services api-keys update "projects/PROJECT/keys/KEY_ID" \ --clear-restrictions
기존 키에 새로운 제한을 설정합니다.
gcloud alpha services api-keys update "projects/PROJECT/keys/KEY_ID" \ --api_target="places-backend.googleapis.com" --allowed-application="sha1_fingerprint=SHA1_FINGERPRINT,package_name=ANDROID_PACKAGE_NAME"
Google Cloud SDK, Cloud SDK 설치 및 다음 명령어에 대해 자세히 알아보세요.
앱의 인증서 정보 찾기
API 키는 SHA-1 디지털 지문이라고 하는 짧은 형식의 앱 디지털 인증서를 기반으로 합니다. 인증서의 SHA-1 디지털 지문을 표시하려면 먼저 올바른 인증서를 사용하고 있는지 확인하세요. 2개의 인증서를 가질 수 있습니다.
- 디버그 인증서: 디버그 빌드를 실행할 때 Android SDK 도구에서 자동으로 생성하는 인증서입니다. 이 인증서는 테스트 중인 앱에만 사용하세요. 디버그 인증서로 서명된 앱은 게시하지 마세요. 디버그 인증서는 Android 개발자 문서의 디버그 모드에서 서명에 자세히 설명되어 있습니다.
- 출시 인증서: 출시 빌드를 실행할 때 Android SDK 도구에서
이 인증서를 생성합니다.
keytool
프로그램을 사용하여 이 인증서를 생성할 수도 있습니다. 앱을 출시할 준비가 되면 이 인증서를 사용하세요.
Gradle 사용
Gradle을 사용하면 앱의 서명 정보를 매우 쉽게 가져올 수 있습니다. ./gradlew signingReport
를 실행하기만 하면 됩니다.
출력은 다음과 같이 표시됩니다.
Task :app:signingReport Variant: debug Config: debug Store: ~/.android/debug.keystore Alias: AndroidDebugKey MD5: 76:4E:BF:C3:59:DA:D3:8F:98:D6:3C:DB:87:A4:5B:E7 SHA1: 99:8E:73:B8:3A:A3:A3:C4:C1:D4:19:08:F6:7E:9E:F6:75:29:4C:B2 SHA-256: 6C:01:12:53:90:94:73:B5:66:D6:07:FF:A5:6F:AB:30:AE:99:20:55:0F:B3:12:22:4C:46:7E:02:3D:7E:6D:1D Valid until: Friday, June 25, 2049 ---------- Variant: release Config: release Store: app/keystore.jks Alias: keystore MD5: 1E:63:0F:14:67:E0:04:BD:98:4C:EB:2B:09:EF:7E:1E SHA1: 2C:DF:9F:D1:A3:0D:1E:01:48:34:5D:91:52:0B:D8:8A:5A:07:45:C3 SHA-256: 12:66:CE:4B:90:FD:64:1A:4D:79:9E:78:AD:59:0C:21:D8:53:61:EE:2B:90:E4:67:CE:65:A0:76:04:13:23:89 Valid until: Tuesday, September 29, 2116
수동
아래의 단계에 따라 keytool
프로그램을 -v
매개변수와
함께 사용하여 인증서의 SHA-1 디지털 지문을 표시합니다. Keytool에 대한
자세한 내용은
Oracle 문서를 참고하세요.
디버그 인증서
디버그 인증서 디지털 지문 표시
디버그 키 저장소 파일을 찾습니다. 파일 이름은
debug.keystore
이며 프로젝트를 처음 빌드할 때 생성됩니다. 기본적으로 파일은 Android Virtual Device(AVD) 파일과 동일한 디렉터리에 저장됩니다.- macOS 및 Linux:
~/.android/
- Windows Vista 및 Windows 7:
C:\Users\your_user_name\.android\
- macOS 및 Linux:
SHA-1 디지털 지문을 나열합니다.
Linux 또는 macOS의 경우 터미널 창을 열고 다음을 입력합니다.
keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android
Windows Vista 및 Windows 7의 경우 다음을 실행합니다.
keytool -list -v -keystore "%USERPROFILE%\.android\debug.keystore" -alias androiddebugkey -storepass android -keypass android
아래와 비슷한 출력이 표시됩니다.
Alias name: androiddebugkey Creation date: Jan 01, 2013 Entry type: PrivateKeyEntry Certificate chain length: 1 Certificate[1]: Owner: CN=Android Debug, O=Android, C=US Issuer: CN=Android Debug, O=Android, C=US Serial number: 4aa9b300 Valid from: Mon Jan 01 08:04:04 UTC 2013 until: Mon Jan 01 18:04:04 PST 2033 Certificate fingerprints: MD5: AE:9F:95:D0:A6:86:89:BC:A8:70:BA:34:FF:6A:AC:F9 SHA1: BB:0D:AC:74:D3:21:E1:43:07:71:9B:62:90:AF:A1:66:6E:44:5D:75 Signature algorithm name: SHA1withRSA Version: 3
릴리스 인증서
출시 인증서 디지털 지문 표시
-
출시 인증서 키 저장소 파일을 찾습니다. 출시 키 저장소에는 기본 위치 또는 이름이 없습니다. 출시용 앱을 빌드할 때 이를 지정하지 않으면 빌드에서
.apk
를 서명되지 않은 상태로 두며 여기에 먼저 서명해야 게시할 수 있습니다. 출시 인증서의 경우 인증서의 별칭 및 키 저장소와 인증서의 비밀번호도 필요합니다. 다음을 입력하면 키 저장소에 있는 모든 키의 별칭이 나열됩니다.keytool -list -keystore your_keystore_name
your_keystore_name
을.keystore
확장자를 포함하여 키 저장소의 정규화된 경로와 이름으로 대체합니다. 키 저장소의 비밀번호를 입력하라는 메시지가 표시됩니다. 그런 다음keytool
에 키 저장소에 있는 모든 별칭이 표시됩니다. -
터미널이나 명령 프롬프트에 다음을 입력합니다.
keytool -list -v -keystore your_keystore_name -alias your_alias_name
your_keystore_name
을.keystore
확장자를 포함하여 키 저장소의 정규화된 경로와 이름으로 대체합니다.your_alias_name
을 인증서를 만들 때 인증서에 할당한 별칭으로 대체합니다.
아래와 비슷한 출력이 표시됩니다.
Alias name: <alias_name> Creation date: Feb 02, 2013 Entry type: PrivateKeyEntry Certificate chain length: 1 Certificate[1]: Owner: CN=Android Debug, O=Android, C=US Issuer: CN=Android Debug, O=Android, C=US Serial number: 4cc9b300 Valid from: Mon Feb 02 08:01:04 UTC 2013 until: Mon Feb 02 18:05:04 PST 2033 Certificate fingerprints: MD5: AE:9F:95:D0:A6:86:89:BC:A8:70:BA:34:FF:6B:AC:F9 SHA1: BB:0D:AC:74:D3:21:E1:43:67:71:9B:62:90:AF:A1:66:6E:44:5D:75 Signature algorithm name: SHA1withRSA Version: 3
SHA1
으로 시작하는 행에는 인증서의 SHA-1 디지털 지문이 포함됩니다. 디지털 지문은 콜론으로 구분된 20개의
두 자리 16진수 시퀀스입니다.