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

Android:获取有关应用程序购买的信息,android,in-app-purchase,Android,In App Purchase,是否有任何android api可以获取有关购买应用程序的信息?我不谈论应用内购买。只是简单的应用程序购买 我需要任何唯一标识符,如交易id或类似的东西。根据我对问题的理解,您想要获取应用程序购买者的信息,或者想要检查特定用户的应用程序购买状态 阿法克: 到目前为止,我无法看到您购买android应用程序的任何买家信息。 参考: 但在过去,我们可能能够看到这样的信息。 参考资料:据我所知,无法在应用程序卸载/重新安装过程中保留此信息。您可以获取安装时间戳,但在重新安装时将重置此时间戳 然而,一个

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


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

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

阿法克: 到目前为止,我无法看到您购买android应用程序的任何买家信息。 参考:

但在过去,我们可能能够看到这样的信息。
参考资料:

据我所知,无法在应用程序卸载/重新安装过程中保留此信息。您可以获取安装时间戳,但在重新安装时将重置此时间戳


然而,一个可行的解决方案可能是在SharedReferences中设置一个标志,并使用Android Backup()保存数据。

正如其他答案中所提到的,它似乎没有公共API。(我相信,这是因为默认情况下——一旦用户启动应用程序——他已经从Google Play获得了if。所以在理想情况下,应该没有必要进行此检查)

如果我是你,我会在你的服务器端实现一些微小的API端点,并将用户帐户Id的哈希版本(请参阅)和该方法对该特定用户Id的初始调用的时间戳响应(或任何其他合理的数据返回)发送给它(即,一旦他更换了手机,你仍然会跟踪他)

要获得活期账户,请执行以下操作:

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


API19API23上测试(在安卓M中,由于权限检查,需要做一些额外的工作)

最可靠的方法是创建您自己的(web)服务,让应用程序使用谷歌用户名()注册,并在以后重新安装时检查注册情况。

对不起,我不清楚应用程序购买。你是在询问API以获取有关Google play应用程序的信息(价格、可用性、国家等)吗?不是。。。应用程序本身必须识别购买本身,因为应用程序只应执行一次操作,即使在卸载和重新安装时也是如此,因此我们必须能够检查是否已对此购买进行了此操作。如下文所述,我不确定是否可以开箱即用。但如果我是你,我会在你的服务器端实现一些微小的API端点,并将用户帐户Id的哈希版本(请参阅)和该方法对该特定用户Id的初始调用的时间戳响应发送给它(即,一旦他更换了手机,你仍然会跟踪他)。我不知道这是否可以作为您问题的答案。(如果是,我将把它转换为答案)@Konstatin PeopleApi似乎不受欢迎,AccountManager没有显示哪个帐户购买了该应用程序,但我们正在检查后续api:“Plus api”用户是否能够删除此备份数据?从文档中我看不到“当用户禁用备份时,Android备份服务将删除所有保存的备份数据。”我错过了这句话。在这种情况下,我认为唯一可靠的解决方案是设置您自己的服务器,并在第一次安装时让应用程序自行注册。但当用户重新安装应用程序时,他可以重复注册-这是我想要避免的事情。解决方案不包括如何检测多个谷歌帐户中的哪些已经购买了应用程序是registered@wutzebaer这是“设计的”。如果你有2个谷歌账户,并且用其中一个账户购买了一些东西,你就不应该从另一个账户获得购买信息(否则,这将是一个安全漏洞,并将导致应用程序的盗版)。因此,你必须依靠“当前”帐户用户运行应用程序。我如何确定当前帐户?@wutzebaer在我的回答中补充道-你需要使用类型为“com.google”的第一个帐户。主帐户“可能”是第一个帐户(来自其他So问题),但我认为在依赖它之前,你需要自己进行测试。帐户[0]总是主动的吗?@wutzebaer从我所知道的-我已经用我的两个Google帐户(在两个不同的操作系统版本-API 19和API 23以及两个不同的设备上)测试了它-它工作得很有魅力。也就是说,它总是有效的——我正在检查android源代码以获得一些证据。它似乎只代表帐户列表的顺序,但我可以在google play中切换用户,而不必更改此项order@wutzebaer这显然是正确的:如果你不在你的账户之间切换,但在设置中添加辅助Google帐户作为额外帐户,并将Google Play用作辅助用户,您仍将以主用户身份运行应用程序。如果你真的关心这个问题,你必须在应用程序启动时询问用户他想用哪个帐户启动你的应用程序。