在app结算中实施哪种方式?

时间:2015-03-21 01:11:40

标签: android in-app-billing

在他们的开发者网站上阅读android文档后, 我已经意识到有两种方式来设置购买:

  1. 使用base64字符串创建一个IabHelper实例,并使用它来请求购买......绝不提及我必须使用ServiceConnection来绑定Android的IInAppBillingService

  2. 似乎还有另一种方法,你必须创建一个绑定到ServiceConnection的{​​{1}},你必须在那里创建一个Bundle等。

  3. 是否可以仅使用我创建IInAppBillingService实例的方式并调用此实例上从trivialDrive应用程序获取的方法?

3 个答案:

答案 0 :(得分:1)

IABHelper在IABHelper上启动Setup()时在内部使用ServiceConnection并绑定到服务。作为文档状态(http://developer.android.com/training/in-app-billing/preparing-iab-app.html),您仍然必须在项目中包含.aidl文件以用于IInAppBillingService。

我强烈建议寻找IABHelper的替代品。许多开发人员(包括我自己)在其实现中发现了许多错误。例如,queryInventoryAsync实现不能正确处理并发。如果你使用IABHelper,你将会遇到很多崩溃。

GitHub上有很多替代品。

答案 1 :(得分:0)

如果您仔细查看Selling In-app Products中描述的Trivial Drive及其IabHelper类,您会注意到它确实使用了ServiceConnection。我建议你使用IabHelper,因为它提供了你需要的所有样板代码。阅读提供的文档,特别是有关安全性的部分。

答案 2 :(得分:0)

如果您查看IabHelper类,您可以看到它包含Implementing In-App Billing教程中的每一段代码。

因此,Preparing Your In-app Billing Application提供了一组类(IabHelper),方便您使用In-App Billing v3。

嗯,在我看来,我们应该使用IabHelper来获取应用内结算实施的最佳实践。您也可以编写自己的课程,因为项目需要一些额外的目的。