Android: 应用内购买

4

我了解Android应用内购买以及其在Dungeons应用程序中的使用,但我有一些疑问需要澄清。

  1. 我们需要为用户创建自己的定制购物车,还是只需显示应用内产品列表及其详细信息,并为用户提供选择的选项,然后Google结算将完成剩余的工作并进行结账?

    此链接上,我发现:

    当您使用应用内购买服务出售物品时,无论是应用内产品还是订阅,Google Play都会处理所有结帐详细信息,因此您的应用程序永远不必直接处理任何财务交易。 Google Play使用与应用程序购买相同的结帐后端服务,因此您的用户可以体验到一致而熟悉的购买流程。

    这是否意味着我们不能为我们的应用程序添加购物车?

  2. 一个应用程序只能拥有特定数量的应用内产品ID吗? 是否有产品ID的最大限制?

  3. 如果从我的应用程序中取消了某个产品,是否有删除该产品或至少防止向用户显示该产品的规定?

  4. 在我的应用程序中,将有单独的产品以及产品包。 例如:一个产品可以是一首歌曲,而一个包可以是四首歌曲。 在这种情况下,包是否仅在Google Play上作为产品处理? 我的意思是,产品包仅被视为独立产品吗?

我想要专家指导并澄清上述问题。欢迎提供教程/指南链接以及解释。

1个回答

6
我已经使用托管项目在我的游戏中实现了IAB(应用内计费)。
1. 通过IAB,您一次只能购买一个产品。没有一种方式可以同时购买多个物品,因此也没有“购物车”。工作流程是:用户单击某个项目的“购买”按钮,然后将请求发送到Google Play,该应用程序会给您提供一个PendingIntent,您可以使用它来显示结帐,用户完成该单个项目的购买(然后您必须进行更多的操作以处理随后的各种响应,所有这些都在官方文档中有记录)。您无法发出购买请求,该请求将在单个结帐中显示多个项目。
使用基于购物车的系统的一种方法(假设它不违反任何Google服务条款,尽管我看不出为什么会这样),可能是销售固定金额的信用,以便在商店中进行购买。 $20商店信用,$5商店信用等等(或者如果您想使用自己的古怪货币,则为20美元的200金)。然后,您可以通过自己的服务器制作自己的购物车系统以使用该信用。
2. 我不知道每个应用程序的IAB项目数量是否有限制。
3. 在您的应用程序中显示哪些项目完全取决于您。无法从Google Play在运行时检索产品列表。您必须在应用程序中硬编码产品或拥有自己的服务器,应用程序可以查询以获取要显示的产品列表。
如果通过开发人员控制台从您的应用程序中删除IAB项目,并且您的应用程序尝试购买它,则会在应用程序中收到错误,因此您可以告诉用户该项目不可用。
4. 您可能已设置以下可供购买的项目:
- my_app.song1 - my_app.song2 - my_app.song3 - my_app.song4 - my_app.songpacksongs1to4
my_app.songpacksongs1to4只是表示IAB中可购买的物品,与其他4个物品完全相同。在IAB中,项目基本上只是具有显示在结帐中的描述和友好名称的命名价格。
如果它们未经管理,它们可以多次购买,而且无法通过IAB的恢复交易来恢复它们,因为它们的状态没有被跟踪。如果它们是托管的,则只能购买一次,并且您可以通过恢复交易来恢复它们,因为IAB服务器跟踪其购买状态。
Google Play没有服务器端方法来说明一个项目代表其他项目的集合。该“软件包”只是另一个命名的价格。
如果您需要应用逻辑来控制用户是否可以根据不同项目的状态购买包或单个项目,则需要在您自己的应用程序和/或服务器上自行进行所有操作。

谢谢回复,您回答了我所有的问题。还有一件事我想知道:我们需要提交任何法律文件来注册我们的IAB产品吗? - Shruti
不,你只需要制作产品,然后就可以出发了。除了通过Google Play销售的正常要求之外,没有额外的IAB特定要求。 - ChrisJD

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接