每次获取不同的应用程序的哈希字符串| SMS检索器API

时间:2019-04-03 12:34:35

标签: android android-sms smsretriverapi

我正在将 SMS Retriever API 集成到我的Android应用中。

我按照以下文档生成了应用程序的哈希字符串:
https://developers.google.com/identity/sms-retriever/verify#computing_your_apps_hash_string

以下是生成哈希的方法:
1)命令

keytool -exportcert -alias MyAndroidKey -keystore MyProductionKeys.keystore | xxd -p | tr -d "[:space:]" | echo -n com.example.myapp `cat` | sha256sum | tr -d "[:space:]-" | xxd -r -p | base64 | cut -c1-11

2) AppSignatureHelper类

对于不同方法,我得到了不同哈希

  

prodRelease(使用命令)-R2J ******* N
prodRelease(使用命令   AppSignatureHelper类)-ROI ******* 6

,以及不同构建变体不同散列

  

prodRelease:投资回报率******* 6
prodDebug:CAz ******* N
  dev发布:R2J ******* N
devDebug:ROI ******* 6(与   prodRelease)

我使用带有prodRelease哈希(即 ROI ******* 6 )的SMS模板测试了我的应用。运行良好,两天后停止运行。我进行了调试,现在哈希值又有所不同,现在可用于不同的哈希 R2J ******* N

我希望哈希值相同,因为它取决于应用程序的程序包ID。
那么,为什么要使用不同的哈希值,以及要考虑使用哪种哈希值来校正哈希值呢?还是每次都要更改哈希值,而我又必须不断更改服务器中的SMS模板? 要么 还有其他更好的方法来确保哈希值吗?

1 个答案:

答案 0 :(得分:0)

每个构建变体都需要一个哈希值。

1-调试 2-释放 3-如果您在Google Play控制台中登录应用,则需要另一个应用,因为Google在您上传应用时会更改哈希值