Google Play Games trên máy tính hỗ trợ tính năng bảo vệ tính toàn vẹn thông qua Play API Tính toàn vẹn và một số tính năng khác của Google Play giúp đảm bảo rằng trò chơi của bạn chưa bị can thiệp hoặc cài đặt từ nguồn không đáng tin cậy.
API Tính toàn vẹn của Play
API Tính toàn vẹn của Play giúp bảo vệ các trò chơi khỏi các hoạt động tương tác tiềm ẩn rủi ro và gian lận. API này giúp bạn hạn chế những hành vi tấn công và sử dụng sai mục đích, chẳng hạn như gian lận, lừa dối và truy cập trái phép. API Tính toàn vẹn của Play thay thế API Chứng thực SafetyNet (SNAA) và Play App Licencing API (API Cấp phép ứng dụng của Play). SNAA không hoạt động với Google Play Games trên máy tính.
Trường Tính toàn vẹn của thiết bị
Trường deviceRecognitionVerdict
chứa một giá trị deviceRecognitionVerdict
duy nhất thể hiện khả năng đảm bảo tính toàn vẹn cho ứng dụng của thiết bị. Theo mặc định, deviceRecognitionVerdict
có thể có một trong các giá trị sau:
MEETS_DEVICE_INTEGRITY
: Ứng dụng đang chạy trên một thiết bị Android có 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.MEETS_VIRTUAL_INTEGRITY
: Ứng dụng đang chạy trong một Android ảo môi trường bằng Dịch vụ Google Play, hiện chỉ giới hạn ở Google Play Games trên máy tính. Môi trường này đáp ứng các yêu cầu cốt lõi về khả năng tương thích với Android và vượt qua quy trình kiểm tra tính toàn vẹn của Google Play.- Không có (giá trị trống): Ứng dụng đang chạy trên thiết bị có dấu hiệu bị tấn công (chẳng hạn như nối API) hoặc xâm phạm hệ thống (chẳng hạn như can thiệp vào hệ thống), hoặc ứng dụng đang chạy trên thiết bị không phải là thiết bị thực (chẳng hạn như trình mô phỏng) mà không vượt qua được quy trình kiểm tra tính toàn vẹn của Google Play.
API Tính toàn vẹn của Play sử dụng giá trị deviceRecognitionVerdict
MEETS_VIRTUAL_INTEGRITY
để cho biết trò chơi đang chạy trên Google Play Games trên máy tính. Dưới đây là ví dụ về một phản hồi "đạt" qua API Tính toàn vẹn của Play:
deviceIntegrity: {
// "MEETS_VIRTUAL_INTEGRITY" indicates the game is running on Google Play Games on PC
deviceRecognitionVerdict: ["MEETS_VIRTUAL_INTEGRITY"]
}
Nếu bạn có trò chơi đa nền tảng trên cả thiết bị di động và
Google Play Games trên máy tính, hãy đảm bảo
kiểm tra logic xác thực cho cả MEETS_VIRTUAL_INTEGRITY
và
MEETS_DEVICE_INTEGRITY
.
Tự động bảo vệ tính toàn vẹn
Tính năng Tự động bảo vệ tính toàn vẹn là một chế độ kiểm tra thời gian chạy được Google Play thêm vào mỗi khi trò chơi của bạn được mở. Nếu trò chơi bị can thiệp hoặc không được cài đặt bằng Google Play, thì tính năng tự động bảo vệ tính toàn vẹn có thể ngăn không cho trò chơi chạy. Tính năng tự động bảo vệ tính toàn vẹn không kiểm tra thiết bị. Bạn phải sử dụng API Tính toàn vẹn của Play để tải trạng thái toàn vẹn của thiết bị.
Tính năng Tự động bảo vệ tính toàn vẹn giúp bảo vệ tính toàn vẹn bằng các tính năng sau:
- Yêu cầu cài đặt từ Google Play: Thêm một chế độ kiểm tra để xem ứng dụng của bạn có được cài đặt qua Google Play hay không. Nếu chế độ kiểm tra này cho thấy ứng dụng không được cài đặt từ Play, thì người dùng sẽ được nhắc để tải ứng dụng của bạn qua Google Play. Tính năng này bật theo mặc định, nhưng bạn có thể tắt đi. Việc tắt tính năng này sẽ vô hiệu hóa khả năng chống vi phạm bản quyền cho ứng dụng có tính phí.
- Hạn chế hành vi sửa đổi: Thêm một chế độ kiểm tra để xem có phải ứng dụng chưa bị sửa đổi hay không. Nếu chế độ kiểm tra này cho thấy có sửa đổi, thì ứng dụng sẽ không chạy. Tính năng này sẽ luôn bật và không thể tắt.
- Hạn chế kỹ thuật đảo ngược: Thêm phương thức làm rối mã nguồn và các kỹ thuật tiên tiến khác để kẻ tấn công khó có thể xoá chế độ kiểm tra thời gian chạy. Tính năng này sẽ luôn bật và không thể tắt.
Tính năng Tự động bảo vệ tính toàn vẹn yêu cầu nhà phát triển chọn sử dụng và không yêu cầu sửa đổi mã hay phát triển thêm.
Các biện pháp bảo vệ vẫn sẽ chạy cho dù có hay không có dữ liệu hoặc kết nối Internet. Không yêu cầu thành phần phía máy chủ. Chế độ kiểm tra "Yêu cầu cài đặt từ Play" sẽ định kỳ yêu cầu kết nối dữ liệu nếu ứng dụng Cửa hàng Play trên thiết bị không có kết nối mạng trong một thời gian dài.