安卓应用内购买问题

12

我对Android应用内购买有一些疑问:

  • 是否可以在不支付 $25 费用的情况下使用不同的产品ID进行测试?

  • 在下面的链接中,添加了已经发布到市场的产品后,如何将其添加到程序UI(如ListView或Spinner)以显示给用户?

    http://developer.android.com/guide/market/billing/billing_admin.html#billing-testing-setup

  • 我们从哪里最初将值放入购买数据库?如果有多个人使用该应用程序,该值将如何更改?由于它在设备上,因此如果两个人购买同一项,它们将如何同步?

  • 如何生成产品ID?


@Fedor:为什么你编辑了这个问题?之前的格式很好啊。 - Tofeeq Ahmad
这个问题的大部分答案现在已经过时了。人们应该寻找更近期的信息,因为最新的应用内计费版本IAB3与发布这些答案时可用的版本有很大不同。 - Carl
4个回答

3

回答3)

产品ID名称空间仅适用于您的应用程序。因此,它必须在您的应用程序中是唯一的,但您可以自由地将其命名为所需的内容。产品ID使您的应用程序能够区分同一应用程序的不同应用内购买项目。

产品ID是从Google结算服务传递给您的应用程序的字符串。

该标识符在开发者控制台中被指定为“应用内产品ID”。您需要在应用程序中匹配此标识符并采取相应的操作。


感谢您的回复,我已经学习了Android开发者网站上提供的示例。虽然我学习了它,但是我没有找到将产品插入数据库的方法。并且如您所知,产品可以在发布后添加,因此如何同步并在UI中显示它们。您能否详细解释一下呢? - Tofeeq Ahmad
谢谢回复,但仍有一些疑问不清楚。为两者点赞。 - Tofeeq Ahmad

3

1) 在测试时必须购买物品。但是您可以以远低于25美元的价格收费,然后通过Google结账退款给自己。您甚至可以获得交易费用的返还!

2) 您的应用程序无法从市场检索可用的应用内购买项目。要么在应用程序中静态地拥有它们,要么从您自己的服务器检索它们。

3) 由mach1980很好地回答了。

4) 您可以随意按照自己的意愿命名它们。或者我误解了这个问题吗?

干杯。


但是在上传应用程序上市后,有一种方法可以添加产品。这个怎么样? - Tofeeq Ahmad
虽然您可以添加额外的应用内购买项目,但它们无法动态地从市场中检索并由应用程序显示。一个替代方案是发布一个更新的应用程序,其中包含可用购买的更新列表,或者您可以让您的应用程序从另一个服务器检索它们。在谷歌的官方示例(Dungeons)中,他们在应用程序中有一个静态的可用购买列表。 - pgsandstrom
然而,您可以收取比25美元低得多的费用。上述行中提到的是什么意思? - Tofeeq Ahmad
抱歉回复晚了:我的意思是如果你想在自己的应用程序上测试代码并执行应用内购买,你可以将价格设置为允许的最低价,然后通过Google Checkout退款给自己。 - pgsandstrom

3
  1. 您需要拥有一个Android Market发布者账户才能在应用程序中测试应用内购买功能。因此,您需要向Google支付25美元的注册费。至于产品成本本身,有4个android.test.*预设的产品ID模拟购买活动,但不是真正的产品。要使用自己的产品ID进行测试,您必须使用真实的信用卡,而最小价格根据货币转换率而异。目前样例中默认的$1.34仍然可以正常工作。
  2. 如果产品在应用程序和Android Market发布者账户中都被正确定义,那么您可以将产品添加到应用程序并期望其正常工作。
  3. 问题#2基本上回答了您的问题#3。您必须提前计划,并确保产品ID是“向上兼容”的。
  4. 您可以创建任何您喜欢的产品ID,只要它在您的应用程序中是唯一的,即没有其他应用内购买项目具有该ID。它是一个字符串,因此您可以将其称为“ItemNumberOne”、“iAmSoUnique”、“myVerSpecialService”等。Google选择sword_001和potion_001作为其在结算样例中的真实项目。

@TofeeqAhmad 非常欢迎你。几周前我也处于你的情况。Google的应用内购买是我见过的最复杂和难以正确实现的支付系统,而且它的文档还有待完善。如果我们不互相帮助,它永远不会起飞。现在,经过几周的尝试,我很高兴能够帮助其他人。感谢你的反馈。 - Bill The Ape
@Bill The Ape 你好,我也在开发需要应用内购买的应用程序。我已经阅读了官方网站上提供的文档,并按照文档中的步骤操作,例如创建了一个Android市场发布者账户,然后创建了产品列表并上传了APK文件。但是,它没有显示我的产品列表,只显示了购买按钮。请问我该如何解决这个问题?谢谢您提前帮助我。 - Amandeep singh
@BillTheApe:请告诉我,创建产品ID是否有限制,还是我们可以根据需要创建任意数量的产品ID?请回复,这很紧急。 - Shruti
@Amandeepsingh,请问创建产品ID是否有限制,还是我们可以根据需要创建任意数量的Product ID?请尽快回复,谢谢。 - Shruti
@BillTheApe,我已经在控制台上创建了一个产品,现在我要进行测试,但是当我从设备上测试时,它显示的是示例标题和价格为0.99美元。你能告诉我为什么会出现这个问题吗?我的产品名称是专业版,但它却显示示例标题。 - CoronaPintu

2

1.) 是的,你可以设置每个物品的价格为0.01美元。

2.) 你需要在你的应用程序中实现任何你销售的物品,并通过产品ID获取它。

4.) 设置名称为“com.ads.free” - 你可以放置任何你想要的字符串。这是一个标识符,它帮助你的应用程序在Google结算服务器上找到正确的项目进行购买。


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