Thiết lập

Trang này giải thích cách thiết lập ứng dụng hoặc trò chơi để sử dụng API Tính toàn vẹn của Play. Bạn cần bật tính năng phản hồi của API, sau đó tích hợp API vào ứng dụng và máy chủ phụ trợ của ứng dụng. Các lựa chọn về cấu hình, tính năng kiểm thử và báo cáo bổ sung sẽ xuất hiện sau khi bạn liên kết dự án Google Cloud bạn đang sử dụng cho API Tính toàn vẹn của Play trong Google Play Console.

Bật tính năng phản hồi cho API Tính toàn vẹn của Play

Mọi ứng dụng hoặc SDK gọi API Tính toàn vẹn của Play đều cần dùng một dự án Google Cloud để giám sát hoạt động sử dụng API. Các ứng dụng trên Google Play có thể liên kết với một dự án Google Cloud trong Google Play Console để bật tính năng phản hồi cho API Tính toàn vẹn của Play. Nếu muốn tạo một dự án Google Cloud mới hoặc trong trường hợp ứng dụng của bạn được phân phối độc quyền bên ngoài Google Play, thì bạn có thể bật tính năng phản hồi cho API Tính toàn vẹn của Play từ Google Cloud Console.

Thiết lập trong Google Play Console (nên dùng)

Khi bật tính năng phản hồi cho API Tính toàn vẹn của Play trong Google Play Console, bạn sẽ có quyền truy cập vào các lựa chọn về cấu hình, tính năng kiểm thử và báo cáo API bổ sung. Lựa chọn này chỉ dành cho các ứng dụng được phân phối trên Google Play. Hãy chuyển đến phần Bản phát hành > Tính toàn vẹn của ứng dụng. Trong API Tính toàn vẹn của Play, hãy chọn Liên kết với một dự án Google Cloud. Chọn dự án Google Cloud bạn muốn liên kết với ứng dụng của mình và thao tác này sẽ bật tính năng phản hồi cho API Tính toàn vẹn của Play. Lúc này, bạn có thể tích hợp API Tính toàn vẹn của Play vào ứng dụng.

Thiết lập trong Google Cloud Console

Trong Google Cloud Console, hãy tạo một dự án Google Cloud mới hoặc chọn một dự án Google Cloud hiện tại mà bạn muốn sử dụng cùng với API Tính toàn vẹn của Play. Chuyển đến phần API và dịch vụ. Chọn bật API và dịch vụ. Tìm kiếm API Tính toàn vẹn của Play rồi bật API đó. Lúc này, bạn có thể tích hợp API Tính toàn vẹn của Play vào ứng dụng.

Hướng dẫn thiết lập dành cho nhà cung cấp SDK

Nhà cung cấp SDK phải sử dụng dự án Google Cloud của chính mình để gọi API Tính toàn vẹn của Play, nhờ đó, mức sử dụng API được phân bổ cho SDK chứ không phải cho từng ứng dụng dùng SDK đó. Điều này có nghĩa là các ứng dụng có sử dụng SDK của bạn sẽ không phải thiết lập riêng API Tính toàn vẹn của Play. Các yêu cầu API Tính toàn vẹn của Play mà bạn thực hiện sẽ tự động tính vào mức sử dụng API của SDK, chứ không phải của ứng dụng.

Có 2 cách để nhà phát triển SDK thiết lập API Tính toàn vẹn của Play: đó là Google Play SDK Console hoặc Google Cloud Console.

Khi bật tính năng phản hồi cho API Tính toàn vẹn của Play trong Google Play SDK Console, bạn sẽ có quyền truy cập vào các lựa chọn bổ sung về cấu hình. Chuyển đến phần Tính toàn vẹn của SDK > Cài đặt. Trong phần Cấu hình dự án, hãy chọn Liên kết với một dự án Google Cloud. Chọn dự án Google Cloud bạn muốn liên kết với SDK của mình và thao tác này sẽ bật tính năng phản hồi cho API Tính toàn vẹn của Play. Lúc này, bạn có thể tích hợp API Tính toàn vẹn của Play vào SDK của mình.

Sử dụng Google Cloud Console

Bạn có thể bật tính năng phản hồi cho API Tính toàn vẹn của Play từ Google Cloud Console. Trong Google Cloud Console, hãy tạo một dự án Google Cloud mới hoặc chọn một dự án Google Cloud hiện tại bạn mà muốn sử dụng cùng với API Tính toàn vẹn của Play. Chuyển đến phần API và dịch vụ. Chọn bật API và dịch vụ. Tìm kiếm API Tính toàn vẹn của Play rồi bật API đó. Lúc này, bạn có thể tích hợp API Tính toàn vẹn của Play vào SDK của mình.

Tăng số lượng hằng ngày cho yêu cầu của SDK đối với API Tính toàn vẹn của Play

Nhà cung cấp SDK mà muốn tăng mức tối đa cho số lượng yêu cầu hằng ngày của họ nên hoàn thành biểu mẫu yêu cầu hạn mức. Trong phần nhận xét chưa giải quyết, hãy nêu rõ rằng bạn đang tạo một yêu cầu SDK và đưa các toạ độ kho lưu trữ Maven (groupId:artifactId) hoặc một URL vào SDK của mình.

Tăng số lượng hằng ngày cho yêu cầu API Tính toàn vẹn của Play

Hằng ngày, ứng dụng sẽ chỉ xử lý tối đa 10.000 yêu cầu/ứng dụng. Bạn có thể yêu cầu tăng mức tối đa hằng ngày này nếu ứng dụng của bạn cần xử lý số lượng người dùng lớn hơn bằng cách làm theo hướng dẫn bên dưới.

Tăng mức tối đa hằng ngày cho số lượng yêu cầu

Để đủ điều kiện tăng mức tối đa hằng ngày cho số lượng yêu cầu, thì ngoài các kênh phân phối khác, ứng dụng của bạn phải có mặt trên Google Play. Ngay cả khi đã tăng mức tối đa hằng ngày thì bạn vẫn nên tiếp tục giới hạn số lượng yêu cầu kiểu cũ mà mỗi người dùng có thể thực hiện đến các hành động không thường xuyên, có giá trị cao để bảo toàn dữ liệu người dùng và pin.

Để đề nghị tăng mức tối đa hằng ngày cho số lượng yêu cầu, hãy làm như sau:

  1. Liên kết dự án Google Cloud bạn đang sử dụng cho API Tính toàn vẹn của Play trong Play Console.
  2. Đảm bảo bạn đang triển khai chính xác logic API, bao gồm cả chiến lược thử lại được đề xuất.
  3. Yêu cầu tăng hạn mức bằng cách sử dụng biểu mẫu này.

Có thể cần tới một tuần để tăng hạn mức cho API Tính toàn vẹn của Play. Vì vậy, bạn nên theo dõi mức sử dụng API Tính toàn vẹn của Play trong Google Play Console hoặc trong Google Cloud Console. Tại đây, bạn cũng có thể thiết lập cảnh báo hạn mức để tránh bị gián đoạn dịch vụ.

Mức tăng hạn mức yêu cầu kiểu cũ sẽ tự động được áp dụng cho cả lệnh gọi ứng dụng khách để tạo mã thông báo tính toàn vẹn và lệnh gọi máy chủ để giải mã và xác minh mã thông báo tính toàn vẹn. Mức tăng hạn mức yêu cầu thông thường sẽ được áp dụng cho lệnh gọi máy chủ để giải mã và xác minh mã thông báo tính toàn vẹn.

Tích hợp API Tính toàn vẹn của Play vào ứng dụng

Để tích hợp API Tính toàn vẹn của Play vào ứng dụng hoặc SDK, tuỳ vào môi trường phát triển, hãy thực hiện một trong những cách sau đây:

Kotlin hoặc Java

Thư viện Android mới nhất cho API Tính toàn vẹn của Play hiện có trong Kho lưu trữ Maven của Google. Hãy thêm phần phụ thuộc sau đây vào tệp build.gradle của ứng dụng:

implementation 'com.google.android.play:integrity:1.3.0'

Unity

Cài đặt Trình bổ trợ Tính toàn vẹn của Google Play dành cho Unity phiên bản 1.3.0 trở lên. Để biết hướng dẫn, hãy xem cách cài đặt các gói Google cho Unity.

  • Mọi phiên bản 2019.x, 2020.x trở lên đều được hỗ trợ.
  • Nếu bạn sử dụng Unity 2018.x, thì phiên bản 2018.4 trở lên sẽ được hỗ trợ.
  • Phiên bản 2017.x trở xuống không được hỗ trợ.

Gốc

Cài đặt SDK gốc của Play Core phiên bản 1.13.0 trở lên. Để biết hướng dẫn, hãy xem hướng dẫn thiết lập môi trường phát triển cho SDK gốc của Play Core.

Định cấu hình tính năng phản hồi của API (không bắt buộc)

Phản hồi của API bao gồm các kết quả mặc định được trả về trong mỗi yêu cầu. Nếu thiết lập chế độ tích hợp API Tính toàn vẹn của Play trong Play Console, bạn có thể tuỳ chỉnh tính năng phản hồi của API.

Phản hồi mặc định

Theo mặc định, các kết quả về tính toàn vẹn sau đây được trả về trong tính năng phản hồi của API Tính toàn vẹn của Play:

Trường phản hồi Giá trị Phần mô tả
Tính toàn vẹn của thiết bị MEETS_DEVICE_INTEGRITY Ứng dụng này đang chạy trên một thiết bị Android sử dụng Dịch vụ Google Play. Thiết bị vượt qua quy trình kiểm tra tính toàn vẹn của hệ thống và đáp ứng các yêu cầu về khả năng tương thích với Android.
Trống (giá trị trống) Ứng dụng đang chạy trên một thiết bị có dấu hiệu bị tấn công (chẳng hạn như hook API) hoặc bị xâm phạm hệ thống (chẳng hạn như đã bị can thiệp vào hệ thống) hoặc ứng dụng không chạy trên một thiết bị thực (chẳng hạn như trình mô phỏng không vượt qua được quy trình kiểm tra tính toàn vẹn của Google Play).
Thông tin về tài khoản LICENSED Người dùng có quyền sử dụng ứng dụng. Nói cách khác, người dùng đã cài đặt hoặc mua ứng dụng của bạn trên Google Play. Người dùng vẫn có quyền sử dụng ứng dụng sau khi gỡ cài đặt ứng dụng, vì vậy, tài khoản người dùng sẽ vẫn được cấp phép nếu sau đó người dùng có được ứng dụng này theo cách khác.
UNLICENSED Người dùng không có quyền sử dụng ứng dụng. Chẳng hạn như khi người dùng cài đặt ứng dụng của bạn không qua cửa hàng ứng dụng hoặc có được ứng dụng thông qua một bên khác không phải là Google Play.
UNEVALUATED Thông tin cấp phép chưa được đánh giá vì thiếu một yêu cầu. Điều này có thể xảy ra vì một vài lý do như sau:
  • Thiết bị không đủ tin cậy.
  • Người dùng chưa đăng nhập vào Google Play.
  • Google Play không xác định được phiên bản ứng dụng của bạn đã cài đặt trên thiết bị.
Tính toàn vẹn của ứng dụng PLAY_RECOGNIZED Ứng dụng và chứng chỉ khớp với các phiên bản do Google Play phân phối.
UNRECOGNIZED_VERSION Chứng chỉ hoặc tên gói không khớp với bản ghi của Google Play.
UNEVALUATED Tính toàn vẹn của ứng dụng chưa được đánh giá. Thiếu một yêu cầu cần thiết, chẳng hạn như thiết bị không đủ tin cậy.

Phản hồi có điều kiện

Nếu phân phối tới Google Play Games dành cho máy tính, thì bạn sẽ tự động chọn nhận một nhãn bổ sung trong kết quả về tính toàn vẹn của thiết bị:

Trường phản hồi Nhãn Phần mô tả
Tính toàn vẹn của thiết bị MEETS_VIRTUAL_INTEGRITY Ứng dụng này đang chạy trên một trình mô phỏng Android sử dụng các dịch vụ Google Play. Trình mô phỏng này vượt qua quy trình kiểm tra tính toàn vẹn của hệ thống và đáp ứng các yêu cầu chính về khả năng tương thích với Android.

Phản hồi không bắt buộc

Nếu thiết lập chế độ tích hợp API Tính toàn vẹn của Play trong Play Console hoặc Play SDK Console, thì bạn có thể chọn nhận thông tin trong tính năng phản hồi của API.

Để thay đổi các phản hồi của API, hãy truy cập Play Console rồi chuyển đến phần Bản phát hành > Tính toàn vẹn của ứng dụng. Trong phần Phản hồi, hãy chỉnh sửa rồi lưu các thay đổi.

Thông tin không bắt buộc về thiết bị

Ứng dụng và SDK có thể chọn sử dụng nhãn thiết bị bổ sung trong kết quả về tính toàn vẹn của thiết bị. Sau khi bạn chọn nhận các nhãn bổ sung, phản hồi về tính toàn vẹn sẽ bao gồm nhiều nhãn cho cùng một thiết bị nếu từng tiêu chí về nhãn được đáp ứng. Bạn có thể chuẩn bị để máy chủ phụ trợ phản ứng theo cách khác tuỳ vào các loại phản hồi có thể xảy ra. Ví dụ: có thể một thiết bị trả về 3 nhãn (MEETS_STRONG_INTEGRITY, MEETS_DEVICE_INTEGRITYMEETS_BASIC_INTEGRITY) sẽ đáng tin cậy hơn một thiết bị chỉ trả về một nhãn (MEETS_BASIC_INTEGRITY). Cũng có thể tính đến những cấp độ hoạt động gần đây trên thiết bị, chẳng hạn như từ cấp LEVEL_1 (số lượng yêu cầu ít) đến LEVEL_4 (số lượng yêu cầu lớn). Ví dụ: có thể một thiết bị trả về cấp độ hoạt động cao hơn đáng kể so với mức thông thường của ứng dụng sẽ tạo ra một số lượng lớn mã thông báo về tính toàn vẹn để phân phối cho các thiết bị không đáng tin cậy. Cấp độ UNEVALUATED cho biết rằng đang tiềm ẩn một số mối lo ngại về bảo mật hoặc vấn đề về kỹ thuật.

Trường phản hồi Nhãn Phần mô tả
Tính toàn vẹn của thiết bị MEETS_BASIC_INTEGRITY Ứng dụng này đang chạy trên một thiết bị đã vượt qua quy trình kiểm tra cơ bản về tính toàn vẹn của hệ thống. Có thể thiết bị này không đáp ứng yêu cầu về khả năng tương thích với Android và không được phê duyệt để sử dụng dịch vụ Google Play. Ví dụ: Có thể thiết bị này đang chạy một phiên bản Android không xác định, dùng trình tải khởi động đã được mở khoá hoặc chưa được nhà sản xuất chứng nhận.
MEETS_STRONG_INTEGRITY Ứng dụng này đang chạy trên một thiết bị Android sử dụng các dịch vụ Google Play, đồng thời có sự đảm bảo chắc chắn về tính toàn vẹn của hệ thống, chẳng hạn như bằng chứng dựa trên phần cứng về tính toàn vẹn khi khởi động. Thiết bị vượt qua quy trình kiểm tra tính toàn vẹn của hệ thống và đáp ứng các yêu cầu về khả năng tương thích với Android.
Hoạt động gần đây trên thiết bị (beta) LEVEL_1 Cấp thấp nhất: Ứng dụng đã yêu cầu tối đa 10 mã thông báo về tính toàn vẹn trên thiết bị này trong 1 giờ qua.
LEVEL_2 Ứng dụng đã yêu cầu từ 11 đến 25 mã thông báo về tính toàn vẹn trên thiết bị này trong 1 giờ qua.
LEVEL_3 Ứng dụng đã yêu cầu từ 26 đến 50 mã thông báo về tính toàn vẹn trên thiết bị này trong 1 giờ qua.
LEVEL_4 Cấp cao nhất: Ứng dụng đã yêu cầu hơn 50 mã thông báo về tính toàn vẹn trên thiết bị này trong 1 giờ qua.
UNEVALUATED Hoạt động gần đây trên thiết bị chưa được đánh giá. Điều này có thể xảy ra vì một vài lý do như sau:
  • Thiết bị không đủ tin cậy.
  • Google Play không xác định được phiên bản ứng dụng của bạn đã cài đặt trên thiết bị.
  • Các vấn đề kỹ thuật trên thiết bị.

Thông tin chi tiết không bắt buộc về môi trường

Ứng dụng có thể chọn nhận kết quả bổ sung về môi trường. Sau khi bạn chọn nhận kết quả xác minh của Play Protect, cùng với kết quả, nội dung phản hồi của API sẽ bao gồm trường thông tin chi tiết về môi trường.

Trường phản hồi Giá trị Phần mô tả
Kết quả xác minh của Play Protect NO_ISSUES Play Protect đã bật và không phát hiện thấy bất kỳ vấn đề nào về ứng dụng trên thiết bị.
NO_DATA Play Protect đã bật nhưng chưa quét. Thiết bị hoặc ứng dụng Cửa hàng Play gần đây có thể đã được đặt lại.
POSSIBLE_RISK Play Protect đã bị tắt.
MEDIUM_RISK Play Protect đã bật và phát hiện thấy các ứng dụng có khả năng gây hại được cài đặt trên thiết bị này.
HIGH_RISK Play Protect đã bật và phát hiện thấy các ứng dụng nguy hiểm được cài đặt trên thiết bị này.
UNEVALUATED Kết quả xác minh của Play Protect chưa được đánh giá. Thiếu một yêu cầu cần thiết, chẳng hạn như thiết bị không đủ tin cậy.

Định cấu hình chế độ cài đặt cho yêu cầu kiểu cũ (không bắt buộc)

Hãy bỏ qua phần này nếu bạn chỉ định thực hiện các yêu cầu API thông thường.

Theo mặc định, khi bạn đưa ra yêu cầu kiểu cũ, các máy chủ của Google Play sẽ quản lý hoạt động mã hoá phản hồi mà ứng dụng dùng khi bạn tương tác với API Tính toàn vẹn của Play. Tuy nên sử dụng lựa chọn mặc định này, nhưng bạn cũng có thể chọn quản lý và tải xuống các khoá mã hoá phản hồi bằng cách làm theo hướng dẫn bên dưới.

Cho phép Google quản lý mã hoá phản hồi của bạn (mặc định và được đề xuất)

Để bảo mật ứng dụng, bạn nên cho phép Google tạo và quản lý các khoá mã hoá phản hồi. Máy chủ phụ trợ của bạn sẽ yêu cầu máy chủ của Google Play giải mã các phản hồi.

Quản lý và tải khoá mã hoá phản hồi của tôi xuống

Nếu muốn giải mã cục bộ kết quả về tính toàn vẹn trong môi trường máy chủ bảo mật của riêng mình, thì bạn có thể quản lý và tải các khoá mã hoá phản hồi xuống. Để quản lý và tải khoá mã hoá phản hồi xuống, ngoài các kênh phân phối khác, bạn phải sử dụng Play Console và ứng dụng của bạn phải có sẵn trên Google Play. Hãy làm theo hướng dẫn bên dưới để chuyển từ khoá mã hoá phản hồi do Google quản lý sang khoá mã hoá phản hồi tự quản lý.

Lưu ý không giải mã hoặc xác minh mã thông báo đã nhận trong ứng dụng khách và không bao giờ tiết lộ bất kỳ khoá giải mã nào cho ứng dụng khách.

Trước khi bạn thay đổi chiến lược quản lý mã hoá phản hồi trong Play Console, hãy đảm bảo rằng máy chủ của bạn được định cấu hình chính xác để giải mã và xác minh mã thông báo tính toàn vẹn trên các máy chủ của Google Play nhằm tránh bị gián đoạn.

Chuyển đổi giữa khoá mã hoá phản hồi do Google quản lý và khoá mã hoá phản hồi tự quản lý

Nếu Google đang quản lý mã hoá phản hồi nhưng bạn muốn chuyển sang tự quản lý và tải các khoá mã hoá phản hồi xuống, hãy làm theo các bước sau:

  1. Đăng nhập vào Play Console.
  2. Chọn một ứng dụng dùng API Tính toàn vẹn của Play.
  3. Trong phần Bản phát hành của trình đơn bên trái, hãy chuyển đến phần Tính toàn vẹn của ứng dụng.
  4. Bên cạnh API Tính toàn vẹn của Play, hãy nhấp vào Cài đặt.
  5. Trong phần Yêu cầu kiểu cũ của trang, bên cạnh Mã hoá phản hồi, hãy nhấp vào Chỉnh sửa.
  6. Trong cửa sổ xuất hiện, hãy nhấp vào Quản lý và tải khoá mã hoá phản hồi của tôi xuống.
  7. Làm theo hướng dẫn để tải khoá công khai lên.
  8. Sau khi cửa sổ hiển thị quá trình tải lên đã thành công, hãy nhấp vào Save (Lưu) và các khoá mã hoá của bạn sẽ tự động tải xuống.
  9. Thay đổi logic máy chủ để giải mã và xác minh mã thông báo truy cập tính toàn vẹn tại cục bộ trong môi trường máy chủ bảo mật của riêng bạn bằng các khoá mã hoá phản hồi.
  10. (Không bắt buộc) Khi bạn tự quản lý các khoá mã hoá phản hồi, ứng dụng vẫn có thể quay lại máy chủ của Google Play để giải mã và xác minh phản hồi.

Nếu bạn tự quản lý các khoá mã hoá phản hồi và muốn chuyển sang để Google quản lý mã hoá phản hồi, hãy làm theo các bước sau:

  1. Thay đổi logic máy chủ để chỉ giải mã và xác minh trên các máy chủ của Google.
  2. Đăng nhập vào Play Console.
  3. Chọn một ứng dụng dùng API Tính toàn vẹn của Play.
  4. Trong phần Bản phát hành của trình đơn bên trái, hãy chuyển đến phần Tính toàn vẹn của ứng dụng.
  5. Bên cạnh API Tính toàn vẹn của Play, hãy nhấp vào Cài đặt.
  6. Trong phần Yêu cầu kiểu cũ của trang, bên cạnh Mã hoá phản hồi, hãy nhấp vào Chỉnh sửa.
  7. Trong cửa sổ xuất hiện, hãy nhấp vào Cho phép Google quản lý quy trình mã hoá phản hồi của tôi (nên dùng).
  8. Nhấp vào Save changes (Lưu thay đổi).