現在は開発中のアプリ上に、root化をはじめとするOSの改ざんを検知するため、 GoogleのSafetyNet Attestation
APIを利用しています。 ただ、2024 年までに SafetyNet Attestation APIを徐々に廃止する予定なので、 Play
Integrity APIに移行しようとしています。
https://developer.android.com/google/play/integrity/setup?hl=ja
上記リンクの記載通り、Google Playストアのアカウント上にPlay Integrity APIを有効に設定しました。 アプリ上にPlay
Integrity APIを利用するように実装して、エミュレータと端末上に動作確認する際に、 下記の問題がありました。
同じ問題に遭遇した方、アドバイスをいただきたいです。 1.エミュレータでアプリを実行して、Google
IntegrityTokenを取得する際に、失敗しました。
https://developer.android.google.cn/training/safetynet/attestation?hl=ja
もともとのSafetyNet Attestation
API、basicIntegrity：false、整合性を満たしていない端末（エニュミレータ）だと判断されましたので、 Google Play
Integrity APIにも判断できると思いますが、token取得自体も失敗しましたので、判断までいかないです。
※エニュミレータで実行するため、token取得できないかどうか、不明です。 エラー情報は下記となります。
com.google.android.play.core.integrity.IntegrityServiceException: -1:
Integrity API error (-1): Integrity API is not available. The Play Store
version might be old, or the application is not allowlisted to use this API.
Recommended actions: 1) Make sure that an app is allowlisted to use the API.
2) Ask the user to update Play Store.
(<https://developer.android.com/reference/com/google/android/play/core/integrity/model/IntegrityErrorCode.html#API_NOT_AVAILABLE>).
2.root化していない/OSの改ざんなどもしていない1台のpixel端末、整合性を満たしていない端末だと判断されています。 SafetyNet
Attestation APIを利用した場合、basicIntegrity：true、整合性を満たしている端末だと判断されていました。 Play
Integrity
APIを利用した場合、deviceIntegrity.deviceRecognitionVerdictの結果、null、整合性を満たしていない端末だと判断されていました。
※20台端末の中に、1台のみ 判断の結果、SafetyNet Attestation APIとPlay Integrity
API、5%の差異が出ているので、Play Integrity APIに移行して問題ないかどうか不安です。
CC BY-SA 4.0
2023-02-15T08:21:58.817
93848
2023-02-17T09:59:12.860
2023-02-17T09:59:12.860
57113
57113
question
android
Google Play Integrity API利用時の問題について