PC 版 Google Play Games は、Play Integrity API とその他のいくつかの Google Play 機能による完全性の保護をサポートしています。これにより、ゲームが改ざんされていないことや信頼できないソースからインストールされていないことを確認できます。
Play Integrity API
Play Integrity API により、潜在的に危険で不正な操作からゲームを保護できます。この API を使用すると、攻撃や、不正行為、偽装、不正アクセスなどの不正使用を防止できます。Play Integrity API は、SafetyNet Attestation API(SNAA)と Play App Licencing API に代わるものです。SNAA は PC 版 Google Play Games では使用できません。
デバイスの完全性フィールド
deviceRecognitionVerdict
フィールドには deviceRecognitionVerdict
という値のみが含まれます。この値は、デバイスがアプリの完全性をどの程度強化できるかを表します。デフォルトでは、deviceRecognitionVerdict
は次のいずれかの値です。
MEETS_DEVICE_INTEGRITY
: アプリは Google Play 開発者サービスを備えた Android デバイスで実行されています。このデバイスはシステム完全性チェックに合格し、Android の互換性要件を満たしています。MEETS_VIRTUAL_INTEGRITY
: アプリは Google Play 開発者サービスを備えた仮想 Android 環境で実行されています(現在 PC 版 Google Play Games に限定されています)。この環境は Android の互換性に関する主要な要件を満たしており、Google Play の完全性チェックに合格しています。- なし(空の値): アプリは、API フックなどの攻撃やルート権限取得などのシステム侵害の兆候があるデバイス、または Google Play の完全性チェックに合格していない仮想デバイス(エミュレータなど)で実行されています。
Play Integrity API は、deviceRecognitionVerdict
値の MEETS_VIRTUAL_INTEGRITY
を使用して、ゲームが PC 版 Google Play Games で実行されていることを示します。Play Integrity API からのレスポンスを渡す例を次に示します。
deviceIntegrity: {
// "MEETS_VIRTUAL_INTEGRITY" indicates the game is running on Google Play Games on PC
deviceRecognitionVerdict: ["MEETS_VIRTUAL_INTEGRITY"]
}
モバイルと PC 版 Google Play Games の両方でクロス プラットフォーム ゲームを利用できる場合は、検証ロジックで MEETS_VIRTUAL_INTEGRITY
と MEETS_DEVICE_INTEGRITY
の両方をチェックします。
自動保護
Google Play の自動保護は、不正な再配布や著作権侵害からゲームを保護するためのサービスです。保護対象のアプリを不明な配信チャネルから入手したユーザーには、Google Play から正式なアプリを入手するよう求めるメッセージが表示されます。自動保護は、データ接続がなくてもアプリで機能します。Google Play Console でワンクリックで有効にすることができ、テスト前のデベロッパーの作業やバックエンド サーバーとの統合は不要です。自動保護を利用すると、ゲームに次の機能を追加できます。
- インストーラ チェック: 自動保護により、アプリのコードに Google Play インストーラ チェックを追加できます。このチェックはアプリの起動時に行われ、インストーラ チェックに失敗した場合、Google Play でアプリを入手するよう求めるメッセージがユーザーに表示されます。
- 改ざん対策 (この機能は一部の Play パートナーのみご利用いただけます): アプリのコードにランタイム チェックを追加して改変を検出できます。さらに、高度な難読化手法を使用してチェックの削除やリバース エンジニアリングも防ぐことができます。このチェックが失敗した場合、Google Play でアプリを入手するよう求めるメッセージがユーザーに表示され、アプリは実行されません。
自動保護では、テスト前にコードを変更したり、デベロッパーが作業したりする必要はありません。詳しくは、Google Play Console ヘルプセンターの自動保護をご覧ください。