首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >通过Google购买设备的每个订阅

通过Google购买设备的每个订阅
EN

Stack Overflow用户
提问于 2013-04-08 20:23:07
回答 2查看 3.2K关注 0票数 7

我想建立订阅为基础的计费应用程序,将出售通过谷歌发挥。是否有可能将相同的订阅出售给同一用户,但在不同的设备上出售?这样,每个用户尝试使用应用程序的设备都需要主动订阅吗?

我想我可以将设备id和用户id存储在自己的服务器上,并以这种方式对其进行身份验证,但是用户不能购买相同的订阅一次以上是正确的吗?因此,如果用户希望购买多个“许可证”,我是否需要一个基本相同的订阅池?谷歌是否能以本土化的方式处理这些问题?

谢谢

EN

回答 2

Stack Overflow用户

发布于 2013-08-03 16:24:47

Google最初提供的文档似乎使这一目标无法实现,但深入挖掘后,我发现了以下内容.

在Google 2.0版本中,您可以创建所谓的“非托管”产品类型,允许用户多次购买相同的东西。虽然Gooogle开发人员控制台显然支持这一点,但这在API 3.0中似乎已经部分消失了。我认为它仍然被支持,因为使用2.0API的应用程序仍然存在,而Google就是不能放弃对它的支持。

然而,在3.0中,API文档中没有列出“非托管”产品类型,但是docs说明了关于为同一产品类型(一次性购买或订阅)进行多次购买的情况:

如果使用的是版本3 API,也可以在应用程序中使用托管项。您通常会实现对可多次购买的物品的消费(例如游戏中的货币、燃料或魔法咒语)。一旦购买,通过向Google发送消费请求,在您使用该项目之前,无法再次购买托管项目。若要了解有关应用程序内产品消费的更多信息,请参见消费项目。

http://developer.android.com/google/play/billing/api.html#consume

的重要性:订阅不能使用,这意味着如果您希望客户定期更新他们的许可证,您将不得不与他们联系并告诉他们必须再次购买许可证。如果您的服务需要定期更新,这是一个缺点。

为了获得你想要的东西,你需要一个后端服务器来处理设备的注册,并在购买时存储从Google收到的令牌。当用户想从另一个设备购买您的许可证、功能、服务(或其他任何东西)时,另一个设备必须首先通过一个名为“消费”的过程,与Google一起释放其对该产品的“所有权”。它或多或少会像这样工作:

  1. 第一个设备进行购买,并从Google接收一个purchaseToken字符串。
  2. purchaseToken和设备ID将从应用程序发送到服务器并存储。
  3. 用户转到第二个设备,并希望购买该设备的许可证。该应用程序首先需要进入您的服务器,并获得purchaseToken (第一个设备上传的),然后调用Google与consumePurchase,这将从用户那里释放产品的“所有权”。
  4. 然后,该应用程序从Google购买新的许可证(或其他任何东西),获得一个新的purchaseToken,并将其与设备ID一起存储在服务器上。

从本质上讲,Google不会跟踪哪个设备拥有该产品。它只将Google帐户与正在购买的产品关联起来。这取决于您的应用程序和服务器来管理许可证。

有一个潜在的问题,我认为你需要解决。如果应用程序由于某些原因未能将purchaseToken发送回您的服务器(您的服务器关闭了,用户丢弃了他们的设备并将其损坏,您的应用程序在将令牌保存在设备上之前就崩溃了,等等),那么您可能不知道用户是否支付了该服务的费用。Google确实提供了一个服务器API,可以让您的后端服务器查询Google在Google服务器上播放有关购买的信息,但我不熟悉它,也不了解它的局限性。

票数 7
EN

Stack Overflow用户

发布于 2013-04-08 20:59:42

您将需要在应用程序采购中实现,就像在应用程序项目中的任何其他应用程序一样。

确保在Dev控制台中创建项目时,它是非托管的,因为每个帐户只能购买一次托管项目。

当您在购买非托管项目时收到确认消息时,请将诸如唯一ID之类的详细信息发送到服务器并将其存储在那里。

现在,每当您的应用程序启动,检查您的服务器,如果它是一个授权的设备。如果不是,则提示用户购买它。如果是的话,让他们继续使用这个应用程序。

这只在你需要一次性付款的情况下才有效。如果您需要订阅,您将不得不弥补多次一次性付款,因为订阅就像有管理的购买,只能通过任何帐户支付一次。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15888270

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档