Sử dụng khóa API

Chọn nền tảng: Android iOS JavaScript Dịch vụ web

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

  1. Truy cập vào trang gt;Thông tin xác thực của Google Maps.

    Chuyển đến trang Thông tin xác thực

  2. 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.
  3. 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

  1. Truy cập vào trang gt;Thông tin xác thực của Google Maps.

    Chuyển đến trang Thông tin xác thực

  2. 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.
  3. 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:
      1. Chọn Ứng dụng Android.
      2. Nhấp vào + Thêm tên gói và vân tay.
      3. 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:
      1. Nhấp vào Hạn chế khoá.
      2. 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.
  4. Để 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

  1. 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\
  2. 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

  1. 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á.

  2. 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.

Bước tiếp theo

Bây giờ, bạn đã có khoá API, hãy tạo và định cấu hình một dự án như mô tả trong bài viết Thiết lập dự án Android Studio.