Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/198.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 在发送真正的验证请求之前,是否可以半验证Google Play IAP purchaseToken?_Android_In App Purchase_Google Play_Token_In App Billing - Fatal编程技术网

Android 在发送真正的验证请求之前,是否可以半验证Google Play IAP purchaseToken?

Android 在发送真正的验证请求之前,是否可以半验证Google Play IAP purchaseToken?,android,in-app-purchase,google-play,token,in-app-billing,Android,In App Purchase,Google Play,Token,In App Billing,我的应用程序正在进行应用内购买,然后将相关数据发送到服务器后端,以便通过服务帐户进行验证,并存储以备将来使用。我注意到后端接收到大量带有无效令牌的垃圾邮件购买收据,这些都未通过验证请求。我最后提出的大多数请求都注定要失败 在我处理请求之前,是否有办法验证购买令牌是否至少可能是合法的?它是由谷歌以某种可以检查的方式签署的吗?我发誓我在实施这个主题的时候读过一些东西,但现在什么也找不到 如果这是我需要自己实现的好东西,我只是想知道是否有其他选择,因为我认为我读了一些关于这个主题的东西 谢谢 如您所知

我的应用程序正在进行应用内购买,然后将相关数据发送到服务器后端,以便通过服务帐户进行验证,并存储以备将来使用。我注意到后端接收到大量带有无效令牌的垃圾邮件购买收据,这些都未通过验证请求。我最后提出的大多数请求都注定要失败

在我处理请求之前,是否有办法验证购买令牌是否至少可能是合法的?它是由谷歌以某种可以检查的方式签署的吗?我发誓我在实施这个主题的时候读过一些东西,但现在什么也找不到

如果这是我需要自己实现的好东西,我只是想知道是否有其他选择,因为我认为我读了一些关于这个主题的东西


谢谢

如您所知,真正验证购买令牌合法性的唯一方法是从后端通过。据我所知,没有办法100%准确地预先验证令牌。但是如果你愿意接受一些误差

令牌格式 根据我的经验,截至2016年2月,无效购买代币有三种形式:

  • 短令牌:15位,例如
  • 短标记:24个字母字符,例如
  • 包含两部分的长标记:24个字母字符、点(
    ),以及格式不正确的第二部分,例如
另一方面,格式正确的令牌是由两部分组成的长令牌:24个字母字符,点(
),第二部分以
AO-J1O…
开头,例如

生根 试图进行欺诈性购买的用户占所有结帐尝试的很大比例。此外,他们经常尝试多次结账。几乎所有这些尝试都来自根设备我坚信拥有根设备是每个人的权利,拥有根设备是有正当理由的。然而,似乎拥有根也是尝试欺诈性购买的必要条件。我使用来确定设备是否为根设备

结论 我不建议您将所有有根用户视为欺诈性黑客。但根据我有限的经验,生成错误令牌的根设备可能会收到“无效令牌”错误。这绝不是一个完美的方法,因为

  • 根设备也为我生成了有效的代币
  • 非根设备为我生成了无效的令牌
  • 最重要的是,我相信“格式错误”的令牌只是在模仿过时的令牌格式。随着谷歌改变代币格式,黑客应用程序的作者也会改变他们的假代币以匹配该格式。你必须掌握这些进展,接受一定限度的误报和漏报
有关此问题的更多详细信息,请参阅