首页 > 解决方案 > Android Safetynet Attestation 内置重试逻辑

问题描述

我的问题是 Google Safetynet 内置了哪些重试逻辑,应用程序中应该构建哪些重试逻辑?构建应用程序级逻辑的最佳实践是什么?

我在 Android 应用程序和 Web 后端服务中使用 Safetynet Attestation。Safetynet 用于验证数据是否来自安装在有效 Android 设备中的 Android 应用程序,并且消息未被篡改。使用的基本代码来自Safetynet 文档示例

在网络连接暂时不可用或 Google Safetynet API 在一段时间内无法访问的情况下,我在设计用于在设备应用程序中获取安全网证明的重试逻辑时遇到问题。

Safetynet 类基于GoogleApi 类。GoogleApi 的文档说已经有一些自动超时/重新连接逻辑。

  • 必要时自动超时并重新连接

Safetynet 自动内置了哪些逻辑,应用程序开发人员需要构建哪些逻辑?例如请求的超时时间是多少(“自动超时”),可以调整吗?它重试了多少次以及使用什么重试策略(“必要时重新连接”)?

标签: androidgoogle-apigoogle-api-clientandroid-googleapiclientsafetynet

解决方案


据我所知,SafetyNet api 只有每个请求的成功和失败结果的侦听器/回调,它没有内置的重试逻辑。您可以OnFailureListener通过它们的 StatusCode 检查出现的错误(检查SafetyNetStatusCodes)并使用您自己的重试逻辑来处理它们。


推荐阅读