android - 需要澄清 SafetyNet API 每分钟配额限制
问题描述
我们应用程序中的安全网调用在生产中经常失败。我们认为,最近消费者流量的激增以及 Safetynet API 的限制可能会导致该问题。
“如果每分钟触发超过 5 次调用,就会超出 API 的固定速率限制,这会导致该分钟内剩余的请求返回错误。” 礼貌 - https://developer.android.com/training/safetynet/attestation
但是,我们不确定此限制是适用于每个用户的每个应用程序还是适用于 API 密钥。请说清楚。
谢谢
解决方案
当您的应用程序与 SafetyNet 通信时,该服务会提供包含兼容性检查结果的响应,并包含JSON Web 签名格式的附加信息。
可能的证明错误案例
- 结果表明对服务的
null
调用未成功完成。 - 参数表示发生
error
了问题,例如网络错误或攻击者假装的错误。大多数错误都是暂时的,如果您重试调用该服务应该不会出现。您可能希望重试几次,每次重试之间的延迟会增加。
对于你的问题
对 SafetyNet Attestation API 的调用限制为每天针对项目中所有 API 密钥的10,000 个请求。如果您每天需要针对项目中的所有 API 密钥发出超过 10,000 个请求,则需要填写此配额申请表。
另一个固定限制策略只允许个人每分钟拨打 5 次电话——代表您的应用程序。
重要提示:如果您每分钟触发超过 5 次调用,则会超出 API 的固定速率限制,这会导致该分钟内的剩余请求返回错误。
标准 API 的速率限制主要基于每个用户,或者更准确地说,是每个用户访问令牌。
推荐阅读
- php - PHPUnit Mock 'method' 方法返回 NULL
- azure - Azure 上的 IceCast 挂载点返回 404
- r - R Shiny Treemap,计算每组的人数
- excel - 如何调用 Excel 中的两个变量来抄送 Outlook 电子邮件?
- typescript - 如何排除要编译的文件,但要在 Typescript 中进行测试?
- json - Pentaho 数据集成 - 雪花 - 将字段转换为数据类型 VARIANT
- python - ModuleNotFoundError:没有名为“paypal”的模块
- python - PyLint 与 f 字符串
- bash - 如何在 xargs 中将函数作为参数传递?
- php - 如何使用 Ratchet 在 ssl (wss) 服务器上启用 keepAlive?