对于安全环境检查android我正在使用
https://developer.android.com/training/safetynet/attestation.html
SafetyNet.getClient(this).attest(nonce, API_KEY)
.addOnSuccessListener(this,successListner)
.addOnFailureListener(this,failureListener)
我因网络错误无效而收到失败回调。有人可以对此有所了解吗?
但是https://medium.com/@hargoyal/secure-android-app-with-safetynet-8e367a1c8ad0
SafetyNet.SafetyNetApi.attest(mGoogleApiClient, nonce)
.setResultCallback(new ResultCallback<SafetyNetApi.AttestationResult>() {
@Override
public void onResult(SafetyNetApi.AttestationResult result) {
Status status = result.getStatus();
if (status.isSuccess()) {
decodeJws(result.getJwsResult());
// Indicates communication with the service was successful.
// Use result.getJwsResult() to get the result data.
} else {
// An error occurred while communicating with the service.
}
}
});
这种方法有效,但 SafetyNet.SafetyNetApi 已被弃用。
答案 0 :(得分:1)
重新检查API密钥或创建一个新密钥,如here。我遇到了同样的问题,问题是我将密钥限制为错误的软件包名称。
- 转到Google API控制台中的“库”页面。
- 搜索Android设备验证API。找到API后,单击它。 Android设备验证API信息中心 屏幕出现。
- 如果尚未启用API,请单击“启用”。
- 如果出现“创建凭据”按钮,请单击它以生成API密钥。否则,请单击“所有API凭据”下拉列表 并选择与项目关联的API密钥 Android设备验证API已启用。
- 在左侧边栏中,单击“凭据”。复制出现的API密钥。