Android Safetynet证明内置的重试逻辑

时间:2019-03-29 06:13:07

标签: android google-api google-api-client android-googleapiclient safetynet

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

我在Android应用程序和Web后端服务中使用Safetynet证明。 Safetynet用于验证数据是否来自安装在有效Android设备中的我们的Android应用程序,以及消息是否被篡改。使用的基本代码来自Safetynet documentation example

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

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

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

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

1 个答案:

答案 0 :(得分:2)

据我所知,SafetyNet api仅具有每个请求的成功和失败结果的侦听器/回调,它没有内置的重试逻辑。您可以通过其状态代码检查{{1}}上出现的错误(检查SafetyNetStatusCodes),并使用自己的重试逻辑进行处理。