【发布时间】:2012-02-01 11:52:03
【问题描述】:
以 PURCHASE_STATE_CHANGED 意图返回的JSON fields 包含非常有用的信息,但我感兴趣的一个信息没有列出:客户的电子邮件地址。
有没有办法使用 In-App Billing API 来检索它?
如果没有,有没有办法为客户检索一些其他唯一标识符,以便交易可以与客户相关联,而不是与设备相关联?
【问题讨论】:
以 PURCHASE_STATE_CHANGED 意图返回的JSON fields 包含非常有用的信息,但我感兴趣的一个信息没有列出:客户的电子邮件地址。
有没有办法使用 In-App Billing API 来检索它?
如果没有,有没有办法为客户检索一些其他唯一标识符,以便交易可以与客户相关联,而不是与设备相关联?
【问题讨论】:
我也在努力解决这个问题。所以我来到的是使用 nonce 值。理想情况下,您应该在从您的应用程序发送 IN-APP 计费请求之前在服务器端生成 nonce,因此在这种情况下,您可以将 nonce 值连接到客户的电子邮件。
我知道这有点笨拙,所以如果有人知道更好的解决方案,我希望看到它。
【讨论】:
nonce 技巧吗?指向示例代码的指针?现在感谢 +1。
如果您运行的是 Android 2.x 及更高版本,也许您可以通过 owner's email address 获得一种方法?
这样做的缺点是它在清单中需要android.permission.GET_ACCOUNTS。您的应用需要的权限越多,您就越有可能吓到应用的潜在用户...
另请注意,“所有者的电子邮件地址”可能与“购买帐户的电子邮件地址”不同(尤其是因为 Honeycomb 3.0)
【讨论】: