Android 应用内计费如何以及在何处指定付费功能费用

Posted

技术标签:

【中文标题】Android 应用内计费如何以及在何处指定付费功能费用【英文标题】:Android in app billing how and where to specify paid feature charges 【发布时间】:2015-03-07 11:08:24 【问题描述】:

谁能解释一下 android 应用内结算流程是如何运作的? 我是否需要将两个不同的 apk(免费和付费)上传到 Play 商店并将免费应用程序中的购买按钮单击链接到 Play 商店的付费版本,但在这种情况下,当用户购买付费应用程序时,免费应用程序会被付费应用程序取代吗?如何做到这一点?

如果我在我的免费应用程序中提供购买按钮,可以购买付费完整版(额外功能),那么此购买如何运作?是不是在活动启动时我会收到一些事件,什么时候会告诉我是否购买了应用程序。基于此,我可以在我的代码中启用付费功能。如果是,这种逻辑在用户离线时会起作用吗?以及如何?

如果有人能解决我对示例代码的困惑,不胜感激。我已成功运行 Google 的示例代码,但无法理解如果我将我的应用作为免费应用上传,我应该如何以及何时需要提及付费功能?

【问题讨论】:

你需要在你的安卓应用中简单地实现应用内购买,只要谷歌一下,你就会有很多教程 【参考方案1】:

我是否需要上传两个不同的 apk(免费和付费)才能玩商店。

这取决于用例。如果您想为您的用户提供有限的不同应用程序和主要不同的 Pro 功能,那么您应该将两个不同的 apk 投放市场。

否则,如果您的应用包含免费和付费内容,您应该包括应用内购买。

在这种情况下,当用户使用付费应用时,免费应用会被替换为付费应用 购买已付之一?如何做到这一点。

不,您的应用不会被替换,您只会从 Google Play 获得付款成功/失败的响应,您必须将该信息保存在您的应用共享首选项中并相应地管理您的应用流程。

如果我在我的免费应用程序中提供购买按钮,可以购买付费 完整版(额外功能)那么这次购买如何运作?

您的应用使用安装在设备上的 Google Play 应用公开的 API 访问应用内结算服务。然后,Google Play 应用程序在您的应用程序和 Google Play 服务器之间传送计费请求和响应。实际上,您的应用程序从不直接与 Google Play 服务器通信以进行购买。相反,您的应用程序通过进程间通信 (IPC) 向 Google Play 应用程序发送计费请求,并接收来自 Google Play 应用程序的响应。您的应用程序不管理自身与 Google Play 服务器之间的任何网络连接。

如果是,这种逻辑在用户离线时会起作用吗?以及如何。

要完成应用内购买请求,Google Play 应用必须能够通过网络访问 Google Play 服务器。但在发起购买请求后,您可以将付款响应保存在共享偏好中,以保持离线状态。

如果有人能解决我对示例代码的困惑,不胜感激。一世 已经成功运行google的示例代码但是看不懂

您应该首先阅读 API 文档 Google Play In-app Billing 和 Selling In-app Products,

如果我将我的应用作为免费应用上传,我需要如何以及何时需要提及 付费功能?

然后按照步骤在Google play account 上创建应用内产品并运行这些产品的 API 示例。(网上有很多教程)。也可以看官网Establishing In-app Billing Products for Sale

享受吧!

【讨论】:

以上是关于Android 应用内计费如何以及在何处指定付费功能费用的主要内容,如果未能解决你的问题,请参考以下文章

为了避免盗版,在应用中添加“应用内计费”而不是在 Play 商店中将其作为付费应用发布会更好吗?

如何在 Android 应用程序中实现应用内计费?

我们如何在服务器端验证 Android 应用内计费收据?

如何在 Android 中测试 Google Play 计费订阅(非应用内购买)

如何存储 Android 应用内计费的订阅数据?

Lite/Pro 版本与应用内计费升级选项