Trước khi bắt đầu
Trước khi bắt đầu sử dụng SDK Địa điểm dành cho Android, bạn cần có một dự án có tài khoản thanh toán và đã bật SDK Địa điểm dành cho Android. Để tìm hiểu thêm, hãy xem phần Thiết lập trong Cloud Console.
Tạo khoá API
Khoá API là giá trị nhận dạng riêng biệt giúp xác thực các yêu cầu liên quan đến dự án của bạn vì mục đích sử dụng và thanh toán. Bạn phải có ít nhất một khoá API được liên kết với dự án của mình.
Cách tạo khoá API:
Bảng điều khiển
-
Truy cập vào trang gt;Thông tin xác thực của Google Maps.
-
Trên trang Thông tin đăng nhập, hãy nhấp vào Tạo thông tin xác thực > khoá API.
Hộp thoại đã tạo khoá API hiển thị khoá API bạn mới tạo. -
Nhấp vào Đóng.
Khóa API mới được liệt kê trên trang Thông tin xác thực trong Khóa API.
(Hãy nhớ hạn chế khoá API trước khi sử dụng trong bản phát hành chính thức.)
SDK đám mây
gcloud alpha services api-keys create \ --project "PROJECT" \ --display-name "DISPLAY_NAME"
Hãy đọc thêm về Google Cloud SDK , Cài đặt SDK đám mây và các lệnh sau:
Hạn chế các khoá API
Bạn rất nên hạn chế khoá API bằng cách chỉ sử dụng các API đó cho những API cần thiết cho ứng dụng. Việc hạn chế khoá API sẽ tăng cường bảo mật cho ứng dụng của bạn bằng cách bảo vệ ứng dụng khỏi các yêu cầu không được đảm bảo. Để biết thêm thông tin, hãy xem các phương pháp hay nhất về bảo mật API.
Khi hạn chế khoá API, bạn phải cung cấp tệp tham chiếu chứng chỉ SHA-1 của khoá ký dùng để ký ứng dụng. Có hai loại chứng chỉ:
- Chứng chỉ gỡ lỗi: Chỉ sử dụng loại chứng chỉ này với các ứng dụng bạn đang kiểm thử và các mã khác không phải là mã phát hành chính thức. Đừng tìm cách phát hành ứng dụng được ký bằng chứng chỉ gỡ lỗi. Các công cụ SDK Android sẽ tự động tạo chứng chỉ này khi bạn chạy bản dựng gỡ lỗi.
- Chứng chỉ phát hành: Sử dụng chứng chỉ này khi bạn đã sẵn sàng phát hành ứng dụng lên cửa hàng ứng dụng. Các công cụ SDK Android sẽ tạo chứng chỉ này khi bạn chạy bản phát hành.
Để biết thêm thông tin về chứng chỉ kỹ thuật số, hãy xem hướng dẫn về Ký ứng dụng.
Để biết thông tin về cách lấy vân tay số cho chứng chỉ, hãy xem phần Xác thực ứng dụng. Nếu đang dùng tính năng Ký ứng dụng của Play, thì bạn phải truy cập vào trang ký ứng dụng trên Play Console để lấy vân tay số của chứng chỉ.
Cách hạn chế khoá API:
Bảng điều khiển
-
Truy cập vào trang gt;Thông tin xác thực của Google Maps.
- Chọn khoá API mà bạn muốn đặt hạn chế. Trang thuộc tính khoá API sẽ xuất hiện.
- Trong mục Key restrictions (Hạn chế cho khoá), hãy đặt các quy định hạn chế sau:
- Hạn chế ứng dụng:
- Chọn Ứng dụng Android.
- Nhấp vào + Thêm tên gói và vân tay.
- Nhập tên gói và vân tay số của chứng chỉ SHA-1. Ví dụ:
com.example.android.mapexample
BB:0D:AC:74:D3:21:E1:43:67:71:9B:62:91:AF:A1:66:6E:44:5D:75
- Các hạn chế về API:
- Nhấp vào Hạn chế khoá.
- Chọn API Địa điểm trong trình đơn thả xuống Chọn API. Nếu API Địa điểm không có trong danh sách, bạn cần bật.
- Để hoàn tất các thay đổi, hãy nhấp vào Lưu.
SDK đám mây
Liệt kê các khóa hiện có.
gcloud services api-keys list --project="PROJECT"
Xóa các quy định hạn chế hiện có đối với khóa hiện có.
gcloud alpha services api-keys update "projects/PROJECT/keys/KEY_ID" \ --clear-restrictions
Đặt các quy định hạn chế mới đối với khoá hiện có.
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"
Hãy đọc thêm về Google Cloud SDK , Cài đặt SDK đám mây và các lệnh sau:
Tìm thông tin chứng chỉ của ứng dụng
Khóa API dựa trên một dạng ngắn của chứng chỉ kỹ thuật số của ứng dụng, được gọi là vân tay SHA-1 của ứng dụng đó. Để hiển thị vân tay số SHA-1 cho chứng chỉ của bạn, trước tiên, hãy đảm bảo rằng bạn đang sử dụng đúng chứng chỉ. Bạn có thể có 2 chứng chỉ:
- Chứng chỉ gỡ lỗi: Công cụ SDK Android sẽ tự động tạo chứng chỉ này khi bạn tạo bản gỡ lỗi. Chỉ sử dụng chứng chỉ này với các ứng dụng mà bạn đang kiểm thử. Đừng tìm cách phát hành ứng dụng được ký bằng chứng chỉ gỡ lỗi. Chứng chỉ gỡ lỗi được mô tả chi tiết hơn trong nội dung Ký ở Chế độ gỡ lỗi trong Tài liệu dành cho nhà phát triển Android.
- Chứng chỉ phát hành: Công cụ SDK Android tạo
chứng chỉ này khi bạn tạo một bản phát hành. Bạn cũng có thể tạo chứng chỉ này bằng chương trình
keytool
. Hãy dùng chứng chỉ này khi bạn đã sẵn sàng phát hành ứng dụng ra toàn thế giới.
Sử dụng Gradle
Gradle giúp bạn dễ dàng tải thông tin ký của ứng dụng.
Bạn chỉ cần chạy ./gradlew signingReport
.
Kết quả đầu ra sẽ có dạng như sau:
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
Thủ công
Làm theo các bước bên dưới để hiển thị vân tay SHA-1 của chứng chỉ bằng cách sử dụng
chương trình keytool
có thông số -v
. Để biết thêm thông tin về Keytool, hãy xem phần Tài liệu về Oracle.
Chứng chỉ gỡ lỗi
Hiển thị vân tay số của chứng chỉ gỡ lỗi
Tìm tệp kho khoá gỡ lỗi của bạn. Tên tệp là
debug.keystore
và được tạo ra vào lần đầu tiên bạn tạo dự án. Theo mặc định, tệp này được lưu trữ trong cùng thư mục với tệp Thiết bị ảo Android (AVD) của bạn:- macOS và Linux:
~/.android/
- Windows Vista và Windows 7:
C:\Users\your_user_name\.android\
- macOS và Linux:
Liệt kê vân tay SHA-1:
Đối với Linux hoặc macOS, hãy mở cửa sổ dòng lệnh và nhập nội dung sau đây:
keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android
Đối với Windows Vista và Windows 7, hãy chạy:
keytool -list -v -keystore "%USERPROFILE%\.android\debug.keystore" -alias androiddebugkey -storepass android -keypass android
Bạn sẽ thấy kết quả xuất ra có dạng như sau:
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
Chứng chỉ phát hành
Hiển thị vân tay số của chứng chỉ phát hành
-
Tìm tệp kho khoá chứng chỉ phát hành của bạn. Không có vị trí hoặc tên mặc định cho kho khoá phát hành. Nếu bạn không chỉ định mã này khi xây dựng ứng dụng để phát hành, bản dựng sẽ không được ký
.apk
và bạn sẽ phải ký ứng dụng trước khi có thể xuất bản ứng dụng. Đối với chứng chỉ phát hành, bạn cũng cần có bí danh chứng chỉ và mật khẩu của kho khoá và chứng chỉ. Bạn có thể liệt kê các bí danh của tất cả khoá trong kho khoá bằng cách nhập:keytool -list -keystore your_keystore_name
Thay thế
your_keystore_name
bằng đường dẫn và tên kho khoá đủ điều kiện, kể cả phần mở rộng.keystore
. Bạn sẽ được nhắc nhập mật khẩu kho khoá. Sau đó,keytool
sẽ hiển thị tất cả các bí danh trong kho khoá. -
Nhập thông tin sau vào cửa sổ dòng lệnh hoặc lời nhắc lệnh:
keytool -list -v -keystore your_keystore_name -alias your_alias_name
Thay thế
your_keystore_name
bằng đường dẫn và tên kho khoá đủ điều kiện, kể cả phần mở rộng.keystore
. Thay thếyour_alias_name
bằng bí danh mà bạn chỉ định cho chứng chỉ khi tạo.
Bạn sẽ thấy kết quả xuất ra có dạng như sau:
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
Dòng bắt đầu bằng SHA1
chứa vân tay số SHA-1 của chứng chỉ. Vân tay là chuỗi gồm 20 số thập lục phân gồm 2 chữ số được phân tách bằng dấu hai chấm.