为什么SafetyNet认证停止工作?

时间:2018-06-21 04:21:30

标签: android google-play-services safetynet

我有一个使用SafetyNet Attestation API一段时间的应用程序。

突然,对API的所有调用开始失败。 SafetyNet证明API发生了什么?

2 个答案:

答案 0 :(得分:9)

mentioned in the documentationGoogle's checklist for SafetyNet Attestation integration一样,现在必须使用API​​密钥来使用SafetyNet证明API。

以前,可以在没有API密钥的情况下使用SafetyNet Attestation API,并且您将获得默认配额(未专门分配给您的项目)。现在不建议使用此默认配额。

共享配额的使用不必要地使您的流量受到项目特定的限制,并可能导致其他API用户出错。

2018年4月左右,Google开始阻止SafetyNet Attestation API(由应用程序的程序包名称标识)的新用户使用此默认配额。

现在大多数现有客户端都使用API​​密钥,但是,如果您的项目不使用,则从2018年8月1日开始,所有没有API密钥的未授权流量将永久失败。

如果您不带密钥使用SafetyNet Attestation API,则现在必须使用密钥。 The good news is that doing so is free, and it's very easy!

答案 1 :(得分:0)

来自 SafetyNet Attestation API

  

为了调用SafetyNet Attestation API中的方法,您需要   必须传入API密钥。要创建此密钥,请完成以下步骤   步骤:

  • 转到Google API控制台中的 Library 页面。
  • 搜索 Android设备验证API 。找到API后,单击它。出现“ Android设备验证API”仪表板屏幕。
  • 如果尚未启用API,请点击启用
  • 如果出现“创建凭据”按钮,请单击它以生成API密钥。否则,请点击所有API凭据下拉列表,然后选择与启用了Android设备验证API的项目关联的API密钥。
  • 在左侧的边栏中,单击凭据。复制 API密钥 出现。

只要您调用SafetyNetClient类的 attest() 方法,就使用此API密钥。

在查看了该API的所有相关文档(包括最佳做法)之后,估算了您的应用可能对该API进行的调用次数。如果您每天需要对项目中的所有API密钥发出超过10,000个请求,请填写 this quota request form