Android:获取应用购买信息

Android: Get information about app purchase

有没有androidapi获取app购买信息?我不谈论应用内购买。就是普通的APP购买。

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

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

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

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

据我所知,无法在应用程序 uninstall/reinstalls 中保留此信息。您可以获得安装时间戳,但在重新安装时会重置。

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

保存数据

正如其他答案中提到的那样,它似乎没有 public API。 (我相信,原因是默认情况下 - 一旦用户启动应用程序 - 他已经从 Google Play 中获得了。所以在理想的世界中,应该不需要这个检查)

如果我是你,我会在你的服务器端实现一些微小的 API 端点,并向它发送用户 accountId 的散列版本(参见 Accessing Google Account Id /username via Android )和 Timestamp-response(或返回任何其他合理的数据)为此特定用户 ID 初始调用此方法(即,一旦他更改了他的 phone - 你仍然会跟踪他)。

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

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

(取自here

API 19API 23 上测试(在 Android M 中需要由于 permission-check)

有点额外的工作

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