android - 我可以从应用程序本身获取已购买的 Android 应用程序的 Google Checkout 订单 ID 吗?

标签 android in-app-purchase google-checkout

我们希望允许我们的用户在我们的一台服务器上激活从 Android Market 购买的每个应用程序的服务,以验证用户是否真的购买了该应用程序。

为此,我们正在评估使用 Google Checkout 的 Notification History API,它允许我们从我们的服务器查询 Checkout 订单 ID 的状态。

现在的问题是我们不知道如何从应用本身获取 Checkout Order Id。

通过新的应用内购买 API,我们可以获得每个应用内购买的结帐订单 ID,但不能获取应用内购买。

最佳答案

获取应用购买确认的更好解决方案是使用 Market Licensing Verification Service .

此库的目的是让您的应用确认用户确实购买了相关应用。

为了检查来自您的外部服务器的交易,您可以使用在 this blog post 上“将许可证验证卸载到受信任的服务器”标题下描述的技术。 .

本质上,它建议您将包含在 ResponseData 类中的许可证服务器响应的副本连同其签名一起发送到您的在线服务器。然后,您的服务器可以验证用户是否已获得许可。

由于许可响应是加密签名的,您的服务器可以使用存储在 Android Market 发布者控制台中的公共(public) RSA key 进行检查以确保许可响应未被篡改。

关于android - 我可以从应用程序本身获取已购买的 Android 应用程序的 Google Checkout 订单 ID 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5160377/

相关文章:

android - 是否可以在 Kotlin Anko 中重用布局

android - 如何在应用崩溃时保存录音?

android - 将应用内购买添加到现有已发布的应用程序并在不发布的情况下对其进行测试

java - 无法使用 java api 在 Google Checkout 中制作数字产品

javascript - Android 2.2 SDK - 不安全的 JavaScript 尝试使用 URL 访问框架 - Google Checkout

android - getStreamVolume提供空指针异常

ios - 无法复制 Apple iOS 应用审查崩溃

iOS 应用内购买订阅与第三方系统集成

php - 几个 Google Checkout 问题

安卓数据绑定(bind) : missing DataBinderMapper class