在 Android 中实现应用内购买?

Posted

技术标签:

【中文标题】在 Android 中实现应用内购买?【英文标题】:Implementing In App purchases in Android? 【发布时间】:2011-01-02 15:17:07 【问题描述】:

编辑android 现在支持in-app billing!

原问题:

Android 似乎暂时不会原生支持应用内购买,到时可能会有庞大的用户群使用不支持它们的设备。

如果可能,使用 Android 电子市场在 Android 中实现类似 iPhone(附加内容或服务)应用内购买的最佳方式是什么?

解决方案应特别考虑:

对于各种应用内购买:Android Market 的 24 小时取消政策 对于消耗品/非消耗品:额外内容的存储(即:使用宝贵的应用程序内存以避免盗版,或使用 SD 卡以避免膨胀应用程序内存)

谢谢!

【问题讨论】:

【参考方案1】:

从今天开始,情况发生了变化! Android 开发者网站上现在有一个示例:https://developer.android.com/google/play/billing/billing_overview

【讨论】:

终于!花了他们足够长的时间。 "Security and design" 部分有点吓人。 在 App-billing 中,如果我在亚马逊应用商店使用相同的 sdk 是否有可能????意味着如果我将我的应用上传到亚马逊应用商店???【参考方案2】:

您可以创建一个具有密钥的高级密钥应用程序。您如何公开这是您的交易(或者您可以检查 PremiumKey 活动是否存在)。从主应用程序中,您只需检查您的密钥,如果它存在,请启用高级选项) 如果您正在谈论从您的应用程序购买其他应用程序 - 使用指向其他应用程序 (market://) 的市场 url 构建您的列表

【讨论】:

感谢您的回答,亚历克斯。不,不是在谈论从应用程序内部购买其他应用程序。谈论购买消耗品、非消耗品、解锁功能或订阅。您将如何处理 24 小时取消政策?或者您是否建议要求用户永久安装“关键”应用程序? Key 只是另一个应用程序。您在发布时添加 DRM 保护(仍然可以破解)。您的主应用程序将在启动时检查密钥以解锁功能。如果用户返回密钥应用程序 - 它不会再存在并且您的主应用程序将无法在启动时获取密钥并且高级功能将被禁用。搜索高级钥匙市场 - 许多商店都这样做。 是的,只要您想要高级功能,就必须永久安装密钥 - 您只需将其隐藏在抽屉中,这样用户就无法点击它。 谢谢亚历克斯。您认为您的解决方案是否适用于其他类型的应用内购买:附加/可下载内容(消耗品和非消耗品)? 消耗品,非消耗品——你说的像商店卖T恤什么的?我不确定出售这些东西是否符合市场条件。导致亚马逊应用直接通过亚马逊销售产品。但是,因为它不是市场商品,所以无论您的商店服务是什么,您都必须处理退货。【参考方案3】:

Android Market Developer Distribution Agreement接受应用内支付是违法的:

3.3 ... 开发者通过 Market 分发的产品收到的所有费用必须由 Market 的支付处理器处理。

【讨论】:

不,不是。 DA 告诉说您不能从通过 Android Market 分发的应用程序内部使用其他支付处理器。您始终可以在 Market 之外分发您的应用,或使用 Market 出售密钥或高级版本。 OP 严重暗示使用市场分发应用程序,但进行应用程序内购买。由于这些在市场上是不可能的,因此它们必须违反 DA。不过,我会澄清我的答案。 查看 Alex Volovoy 的回答。例如,有一些方法可以通过 Android Market 出售“钥匙”来解锁功能。我相信这是DA承认的。无论如何,不​​使用 Android Market 也是一种选择,这并不违反 DA。【参考方案4】:

看起来 Paypal 推出了一个用于接受应用内付款的库。 See here。不过不确定这个系统是否违反了 T&C。

【讨论】:

【参考方案5】:

你说 Android Market 不支持应用内购买,然后问你如何使用 Android Market 实现应用内购买?(!)

无论如何,如果他们确实支持它,我想它可以作为 Android Market 应用程序本身的更新分发,因此大多数用户都可以使用该功能。我相信电子市场应用会自动更新。

市场可能会接受 Intent 以通过通常的设备上机制触发付款并返回您的应用(或更可能是您的服务器)回调。

【讨论】:

我说 Android Market 不支持原生应用内购买。这并不意味着没有办法实现类似的东西。因此问题。 我确信有一种方法可以在 Market 之外实现类似的东西,但我仍然没有得到“使用 Android Market”的部分,以及如果他们取消政策会如何影响它既不支持应用内购买、附加组件或类似的东西。 我明白你的意思,但上面提到的方法不是应用内购买——它完全是应用外的! :) 无论如何,市场肯定有很多需要改进的地方。 市场改进+1。让我们希望它不会只与手机有关,并且会分配一些时间来改善市场。【参考方案6】:

还有另一个适用于 Android 应用程序的应用内支付平台,称为 MoVend (www.movend.com)。我已经检查过了,与前面提到的其他两个相比,使用它有几个好处:

许多支付渠道:超过 38 个国家/地区的运营商计费、PayPal 和虚拟信用。

许多分发渠道:他们与开发人员合作,通过各种分发渠道(例如 Operator AppStores、OEM 和 Android 应用程序网站)分发他们的应用程序。营销是我们都需要的东西。他们还由在东南亚拥有强大影响力的新加坡电信投资。

它们为您提供销售分析,以跟踪、跟踪和监控您的应用的性能。由于它们在全球范围内可用,因此您始终可以根据不同的地理区域定制您的应用程序。

我正在尝试构建 Android 应用程序,因此获利很重要。

回复此主题,以便我们讨论如何通过 Android 应用获利。

【讨论】:

【参考方案7】:

这是另一个免费的许可和支付系统。这个的好处是它允许您在任何应用商店中提供您的应用。

您可以找到更多详情@http://www.cloud4apps.com/

【讨论】:

【参考方案8】:

查看http://mobpaynet.com,他们正在做这样的事情。不确定它是否违反条款,但我可能会检查一下。

【讨论】:

【参考方案9】:

为了在 Air 应用程序中实现应用内购买,您可以使用第三方库(Adobe AIR 不支持任何开箱即用的平台的应用内购买)。比如Milkman Games开发的(可惜不是免费的)

【讨论】:

以上是关于在 Android 中实现应用内购买?的主要内容,如果未能解决你的问题,请参考以下文章

如何在Flutter中实现应用程序内购买订阅?

在 Mac App Store 的 Electron 应用中实现应用内购买

Android:应用内:检查是不是已购买商品

Android - 亚马逊应用内购买

在android应用程序中实现MVC架构[重复]

iPhone + 应用内购买 + 更改提示信息