Khóa đăng ký và khóa API

Để sử dụng Google Awareness API, bạn phải thêm một khoá API Google vào ứng dụng của mình. Loại khoá API mà bạn cần là khoá API Android.

Tất cả ứng dụng Android đều được ký bằng một chứng chỉ kỹ thuật số mà bạn giữ khoá riêng tư. Để biết thêm thông tin về chứng chỉ kỹ thuật số, hãy tham khảo hướng dẫn của Android về cách ký ứng dụng.

Khoá API Android được liên kết với các cặp chứng chỉ-gói cụ thể. Bạn chỉ cần một khoá cho mỗi chứng chỉ, bất kể bạn có bao nhiêu người dùng cho ứng dụng.

Bạn cần thực hiện một số bước để lấy khoá cho ứng dụng của mình. Các bước này được mô tả chi tiết trong hướng dẫn này và được tóm tắt như sau:

  1. Nhận thông tin về chứng chỉ của ứng dụng.
  2. Đăng ký một dự án trong Google Developers Console và thêm User Context API làm dịch vụ cho dự án.
  3. Yêu cầu một khoá.
  4. Thêm khoá vào ứng dụng của bạn. Để làm như vậy, hãy thêm một phần tử vào tệp kê khai ứng dụng.

Tìm thông tin về chứng chỉ của ứng dụng

Khoá 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òn được gọi là vân tay số SHA-1. Để hiển thị dấu vân tay SHA-1 cho chứng chỉ, trước tiên, hãy đảm bảo rằng bạn sử dụng đúng chứng chỉ. Bạn có thể chọn một trong hai chứng chỉ sau:

  • Chứng chỉ gỡ lỗi: Bộ công cụ SDK Android sẽ tự động tạo chứng chỉ này khi bạn thực hiện bản dựng gỡ lỗi. Chỉ sử dụng chứng chỉ này với những ứng dụng mà bạn đang kiểm thử. Đừng cố gắng xuất bản ứ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 phần Ký bản 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ác công cụ SDK Android sẽ tạo chứng chỉ này khi bạn thực hiện bản dựng phát hành. Bạn cũng có thể tạo chứng chỉ này bằng chương trình keytool. Sử dụng chứng chỉ này khi bạn đã sẵn sàng phát hành ứng dụng cho mọi người.

Để biết thêm thông tin về keytool, hãy xem tài liệu của Oracle.

Chứng chỉ gỡ lỗi

Hiển thị dấu vân tay chứng chỉ gỡ lỗi

Sử dụng chương trình keytool với tham số -v để hiển thị dấu vân tay SHA-1 của một chứng chỉ. Để thực hiện điều này, vui lòng hoàn thành các bước sau:

  1. Xác định vị trí tệp kho khoá gỡ lỗi. Tên tệp là debug.keystore và tệp này được tạo 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 các tệp Thiết bị ảo Android (AVD):

    • OS X 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 OS X, hãy mở cửa sổ dòng lệnh rồi nhập nội dung sau:

      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 lệnh sau:

      keytool -list -v -keystore "%USERPROFILE%\.android\debug.keystore" -alias androiddebugkey -storepass android -keypass android

Bạn sẽ thấy kết quả tương tự như dưới đây:

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ị dấu vân tay chứng chỉ phát hành

Sử dụng chương trình keytool với tham số -v để hiển thị dấu vân tay SHA-1 của một chứng chỉ. Để thực hiện điều này, vui lòng hoàn thành các bước sau:

  1. Xác định vị trí tệp kho khoá chứng chỉ phát hành. 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ột khoá khi tạo bản dựng ứng dụng để phát hành, thì bản dựng sẽ bị huỷ ký .apk và bạn phải ký bản dựng đó trước khi có thể phát hành. Đối với chứng chỉ phát hành, bạn cũng cần bí danh của chứng chỉ, mật khẩu cho khoá và chứng chỉ.
  2. Nhập nội dung sau để liệt kê các bí danh cho tất cả các khoá trong một kho khoá:

    keytool -list -keystore your_keystore_name
          
  3. Thay thế your_keystore_name bằng đường dẫn và tên đủ điều kiện của kho khoá. Bao gồm tiện ích .keystore. Nhập mật khẩu của kho khoá khi được nhắc. Sau đó, keytool sẽ hiển thị tất cả các bí danh trong kho khoá.
  4. Nhập nội dung sau đây tại một cửa sổ dòng lệnh hoặc dấu nhắc lệnh:

          keytool -list -v -keystore your_keystore_name -alias your_alias_name
          
  5. Thay thế your_keystore_name bằng đường dẫn và tên đủ điều kiện của kho khoá. Bao gồm tiện ích .keystore.
  6. Thay thế your_alias_name bằng bí danh mà bạn đã chỉ định cho chứng chỉ khi tạo chứng chỉ.

Bạn sẽ thấy kết quả tương tự như dưới đây:

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 dấu vân tay SHA-1 của chứng chỉ. Dấu vân tay là chuỗi gồm 20 số thập lục phân có hai chữ số được phân tách bằng dấu hai chấm.

Lấy khoá API từ Google Developers Console

Để bắt đầu sử dụng Google Awareness API, hãy nhấp vào nút Nhận khoá. Công cụ này liên kết với Google Developers Console, hướng dẫn bạn thực hiện quy trình và tự động kích hoạt Awareness API.

Mua khoá

Hoặc bạn có thể làm theo các bước sau để lấy khoá API:

  1. Chuyển đến Google Developers Console.
  2. Chọn một dự án hoặc tạo một dự án mới.
  3. Nhấp vào Tiếp tục để bật Awareness API.
  4. Trên trang "Thông tin xác thực", hãy tạo một khoá Android và đặt thông tin xác thực API.

  5. Trong hộp thoại "Tạo khoá", bạn cần hạn chế việc sử dụng cho các ứng dụng Android. Để làm vậy, hãy nhập vân tay SHA-1 và tên gói của ứng dụng, như trong ví dụ sau:

    BB:0D:AC:74:D3:21:E1:43:67:71:9B:62:91:AF:A1:66:6E:44:5D:75
    
    com.example.android.awareness-example
    
  6. Nhấp vào Tạo. Khoá API Android mới của bạn sẽ xuất hiện trong danh sách khoá API của dự án. Khoá API là một chuỗi ký tự, chẳng hạn như:

    AIzaSyBdVl-cTICSwYKrZ95LoVuw7dbMuDt1KG0
    

Giờ đây, khi đã có khoá API, bạn có thể thêm khoá đó vào tệp kê khai của ứng dụng, như mô tả trong hướng dẫn Bắt đầu.

Kích hoạt các API bổ sung

Awareness API cho phép bạn truy cập vào nhiều loại dữ liệu theo bối cảnh, chẳng hạn như đèn hiệu. Để sử dụng các loại này, bạn cần bật các API tương ứng trong Google Developers Console.

Dịch vụ Các phương thức Awareness API API cần bật
Đèn hiệu SnapshotApi.getBeaconState(), FenceApi.BeaconFence Nearby Messages API