PC 版 Google Play ゲームは、Play Integrity API とその他のいくつかの Google Play 機能による完全性の保護をサポートしています。これにより、ゲームが改ざんされていないことや信頼できないソースからインストールされていないことを確認できます。
Play Integrity API
Play Integrity API は、潜在的に危険で不正な操作からゲームを保護するのに役立ちます。この API を使用すると、攻撃や不正使用(不正行為、偽装、不正アクセスなど)を防止するための適切な措置を取ることができます。Play Integrity API は、SafetyNet Attestation API(SNAA)と Play App Licencing API に代わるものです。SNAA は Google Play ゲームでは使用できません。
デバイスの完全性フィールド
Google Play ゲームでゲームをサポートする場合は MEETS_VIRTUAL_INTEGRITY
の deviceRecognitionVerdict
を許可します。
deviceIntegrity
フィールドには deviceRecognitionVerdict
という値のみが含まれます。この値は、デバイスがアプリの完全性をどの程度強化できるかを表します。デフォルトでは、deviceRecognitionVerdict
は次のいずれかのラベルを持ちます。
MEETS_DEVICE_INTEGRITY
: アプリは Google Play 開発者サービスを備えた Android デバイスで実行されています。このデバイスはシステム完全性チェックに合格し、Android の互換性要件を満たしています。MEETS_VIRTUAL_INTEGRITY
: アプリは Google Play 開発者サービスを備えた仮想 Android 環境で実行されています(現在 Google Play ゲームに限定されています)。この環境は Android の互換性に関する主要な要件を満たしており、Google Play の完全性チェックに合格しています。- ラベルなし(空の値など): アプリは、API フックなどの攻撃や root 権限取得などのシステム侵害の兆候があるデバイス、または Google Play の完全性チェックに合格していない仮想デバイス(エミュレータなど)で実行されています。
Play Integrity API は、deviceRecognitionVerdict
のラベル MEETS_VIRTUAL_INTEGRITY
を使用して、ゲームが Google Play ゲームで実行されていることを示します。Play Integrity API からのレスポンスを渡す例を次に示します。
deviceIntegrity: {
// "MEETS_VIRTUAL_INTEGRITY" indicates the game is running on Google Play Games
deviceRecognitionVerdict: ["MEETS_VIRTUAL_INTEGRITY"]
}
モバイルでクロス プラットフォーム ゲームを提供している場合は、検証ロジックで MEETS_VIRTUAL_INTEGRITY
と MEETS_DEVICE_INTEGRITY
の両方をチェックします。
Google Play Console で信頼できないデバイスの除外を有効にしない
Google Play Console のオプションを使用すると、完全性チェックに合格していないデバイスに Google Play からアプリをインストールできないようにすることが可能です。
デバイス カタログでこの除外ルールを有効にしないでください。この機能は Google Play ゲームと互換性がなく、プラットフォームにゲームを配信できなくなります。