我想建立订阅为基础的计费应用程序,将出售通过谷歌发挥。是否有可能将相同的订阅出售给同一用户,但在不同的设备上出售?这样,每个用户尝试使用应用程序的设备都需要主动订阅吗?
我想我可以将设备id和用户id存储在自己的服务器上,并以这种方式对其进行身份验证,但是用户不能购买相同的订阅一次以上是正确的吗?因此,如果用户希望购买多个“许可证”,我是否需要一个基本相同的订阅池?谷歌是否能以本土化的方式处理这些问题?
谢谢
发布于 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一起释放其对该产品的“所有权”。它或多或少会像这样工作:
从本质上讲,Google不会跟踪哪个设备拥有该产品。它只将Google帐户与正在购买的产品关联起来。这取决于您的应用程序和服务器来管理许可证。
有一个潜在的问题,我认为你需要解决。如果应用程序由于某些原因未能将purchaseToken发送回您的服务器(您的服务器关闭了,用户丢弃了他们的设备并将其损坏,您的应用程序在将令牌保存在设备上之前就崩溃了,等等),那么您可能不知道用户是否支付了该服务的费用。Google确实提供了一个服务器API,可以让您的后端服务器查询Google在Google服务器上播放有关购买的信息,但我不熟悉它,也不了解它的局限性。
发布于 2013-04-08 20:59:42
您将需要在应用程序采购中实现,就像在应用程序项目中的任何其他应用程序一样。
确保在Dev控制台中创建项目时,它是非托管的,因为每个帐户只能购买一次托管项目。
当您在购买非托管项目时收到确认消息时,请将诸如唯一ID之类的详细信息发送到服务器并将其存储在那里。
现在,每当您的应用程序启动,检查您的服务器,如果它是一个授权的设备。如果不是,则提示用户购买它。如果是的话,让他们继续使用这个应用程序。
这只在你需要一次性付款的情况下才有效。如果您需要订阅,您将不得不弥补多次一次性付款,因为订阅就像有管理的购买,只能通过任何帐户支付一次。
https://stackoverflow.com/questions/15888270
复制相似问题