【问题标题】:Internal (Private) Android App with Subscription带有订阅的内部(私人)Android 应用程序
【发布时间】:2015-03-01 04:30:11
【问题描述】:

我开发了一个仅供内部使用的 Android 应用程序(我的客户不希望该应用程序出现在 Google Play 上) 按照他的要求,应用程序应该具有这样的功能,即应用程序只能在激活应用程序令牌后的特定时间量(可以是各种,如 3 个月、6 个月或一年等)内使用。在这段时间之后,应用程序将被锁定,需要另一个令牌才能打开。 我一直在研究带有应用内购买(或订阅)的 Android 私人频道,但仍然担心如果是我的情况(在实施简单性、耗时和金钱方面) 或者我应该创建一个在虚拟主机上运行的服务并经常执行检查。 我喜欢Android-Subscription 的功能,它已经集成了在线检查和本地检查机制。 那么,你怎么看?

P/s:我最近是研究生,这是我的第一次演出 :) 非常感谢大家的帮助。我希望你有一个美好的新年!

如果我的话不完全清楚,这里基本上就是我想要的

http://i.stack.imgur.com/pSiMt.png

【问题讨论】:

  • 我认为你把事情复杂化了。为什么要担心内部应用程序的令牌等?我只需添加一个登录屏幕,并让服务器控制用户是否可以访问它。这样您就可以随时撤销访问权限。除非这不是一个真正的内部应用,并且您正在销售订阅,并且只是想避免让 Google 分得一杯羹(这很好,但那时您不太可能使用 Google Play 订阅)。
  • 感谢 Gabe,我的客户不销售订阅,实施类似订阅的系统的目的是监控用户使用应用程序的时间超过试用时间。关于您的建议,是否有任何简单的方法可以在内部和本地执行启动检查(因为我不希望用户每次启动应用程序时都必须连接到互联网)?我的意思是如果试用期到期,那么应用程序将提示输入新密钥(令牌)
  • 我不知道您为什么要试用内部应用程序 - 如果该应用程序对他们的工作有用,为什么他们不总是拥有它?但是你可以只用一个登录系统来做到这一点——让它在登录时检查过期(或者如果偏执,在每个请求上检查)
  • 感谢您的快速回复。在我们的案例中,试用时间用于阻止人们(在我们的案例中是特许经营权)在特定时间后使用该应用程序,因此如果他们不重新订阅他们的订阅,我们将计入他们放弃使用我们的服务和停止向他们提供在应用程序内使用服务的许可。换句话说,我们不希望其他人将我们的应用程序与他们自己的服务一起使用,这些服务不是我们直接提供的。
  • 在阅读了您的 cmets 后,您告诉您要在本地检查意味着每次用户启动应用程序时都要阻止连接互联网。所以基本上你需要将时间存储在本地数据库中,这将是你使用应用程序需要多少时间。您需要在启动应用程序时获取该时间,这会阻止您的应用程序连接到互联网。最后,我的意思是您需要在应用程序启动时从数据库中检索数据。

标签: java android subscription


【解决方案1】:

您不能将到期日期存储在数据库中并在运行应用程序时检查吗?

【讨论】:

  • 谢谢 Akash93,我希望同时进行本地和在线检查(但是,当用户连接到互联网时,大多数时候他们在使用应用程序时并没有这样做) .因为我希望用户不要通过卸载并重新安装应用程序或更改系统日期时间来“欺骗”试用时间。
  • 你可以使用本地 SQLite 数据库。如果您的应用程序没有网络连接,我不确定订阅也会有什么帮助。它如何同步时间?
  • 再次感谢您,我们的用户提前下载(同步)设备中的数据,他们使用的地方不一定需要互联网连接。因此,即使他们当前没有连接到互联网,我也需要检查。
  • 好的,您可以在本地和服务器上维护到期日期。然后,每当您的应用程序发出网络请求时,就会从服务器同步这次。因此,即使用户更改了他的系统时间,您的应用程序也将无法使用。我之前的意思是,如果您的应用程序没有网络连接,我不确定应用内计费 api 是否会有很大帮助跨度>
  • 感谢 Akash93,存储应用程序保持有效天数的有效方法是什么?我的意思是我想在本地存储一个计数器并在 24 小时后增加 1。我应该如何实施?或存档该任务的最简单方法:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-07-15
  • 2012-07-08
  • 2011-10-08
  • 2021-04-11
相关资源
最近更新 更多