如何在服务器上验证通过Android电子市场成功购买了应用?

jax*_*zin 5 android android-lvl

我有一个可接收高级内容的Android应用,我想在服务器端验证该应用是通过Android Market购买的。我可以使用许可服务来检查对应用程序的访问,有没有办法从服务器连接到许可服务?如果没有,我可以使用Google Checkout API数据来验证购买吗?

Dav*_*unt 4

Android Market 许可服务响应使用私钥进行签名,并且签名与签名数据一起发送。使用开发者控制台中的公钥,您可以验证签名对于已签名的数据是否有效。只有使用私钥生成的签名对于给定数据才有效。同样,如果数据已被更改,签名将不再正确。

在您的 Android 应用程序中,您可以将签名和签名数据发送到内容服务器,内容服务器可以验证签名并在签名有效时允许访问内容。

如果您使用的是 PHP,则可以使用函数openssl_verify来验证签名。

如果您使用 Java,您可以在 LicenseValidator.verify 中了解 Android 库如何验证签名。