Android:获取有关应用购买的信息

时间:2015-12-17 11:27:37

标签: android in-app-purchase

是否有任何android api可以获取有关购买应用程序的信息?我不会谈论应用内购买。只是简单的APP购买。

我需要任何唯一的标识符,例如交易ID或类似的东西。

4 个答案:

答案 0 :(得分:1)

根据我对问题的理解,您希望获取应用购买者的信息,或者您想要检查特定用户的应用购买状态。

AFAIK: 截至目前,我无法看到您的Android应用程序购买的任何买家信息。 参考:https://support.google.com/googleplay/android-developer/answer/6056620?hl=en

但过去可能是我们能够看到这样的信息。 参考:Android Market (Google Play). Get buyer information

答案 1 :(得分:1)

据我所知,无法在app uninstall / reinstalls中保留此信息。您可以获取安装时间戳,但重新安装时将重置此时间戳。

但是,一个可行的解决方案可能是在SharedPreferences中设置一个标志并使用Android备份保存数据(http://developer.android.com/guide/topics/data/backup.html#SharedPreferences

答案 2 :(得分:1)

正如其他答案所述,它看起来没有公共API。 (我相信,原因是默认情况下 - 一旦用户启动应用程序 - 他已经从Google Play获得了。所以在理想世界中,不需要进行此项检查)

如果我是你,我会在你的服务器端实现一些微小的API端点,并发送用户的accountId(参见Accessing Google Account Id /username via Android)和时间戳响应(或任何其他合理数据)的哈希版本这个特定用户ID的初始调用方法(即一旦他更换了手机 - 你仍会跟踪他)。

要获得当前帐户,请执行以下操作:

    Account[] accounts = AccountManager.get(this).getAccountsByType("com.google"); 
    if (accounts.length != 0) {
         String myEmailid=accounts[0].toString();
    }

(摘自here

API 19 API 23 上进行测试(在Android M中,由于权限检查需要额外的工作)

答案 3 :(得分:1)

最可靠的方法是创建自己的(网络)服务,并让应用程序使用谷歌用户名(How do I retrieve the logged in Google account on android phones?)进行注册,并在以后重新安装时检查注册。