当前位置: 首页 > 知识库问答 >
问题:

应用内计费促销为用户谁买了东西在另一个应用程序

邵劲
2023-03-14

我们有两个应用程序,它们具有通过应用内购买解锁的高级功能。一款应用主要在冬季使用,另一款则在夏季使用。对于计费,我们使用的是应用计费中的Google Play服务。对于已经在另一个应用程序中购买了premium的用户,我们希望在一个应用程序中为其高级功能提供50%的折扣。

问题是:如何从应用程序B中获取应用程序A中关于在B中购买的信息?

第一个想法是,我们考虑使用存储在设备中的隐藏文件,该文件包含指示用户是否在一个应用程序中拥有premium的信息,以便我们可以从另一个应用程序中读取它。但这种解决方案几乎没有缺点:

  1. 由于文件创建/版本的可能性,此解决方案并不真正安全。
  2. 用户有多个设备,我们无法从所有设备访问此文件
  3. 如果我们为一个应用程序(例如冬季应用程序)更新,用户很可能直到下一季才打开它,隐藏文件也不会创建。

第二个想法是在这两个应用程序中创建ContentProviders,以共享来自内部(DB、SharedPrefs)存储的关于购买状态的数据的信息。此解决方案解决了第一个解决方案中的第一个和第三个问题,但第二个仍然存在。

我们的应用程序中没有任何登录/服务器端系统,因此无法将其存储在服务器后端。

我们想知道是否有可能使用应用内计费api来解决我们的问题?或者有其他解决办法?

共有1个答案

琴修为
2023-03-14

如果你想在没有自己服务器的情况下购买“所有设备”“几个应用”,我建议唯一的解决方案是使用Firebase数据库。您可以在几个应用程序之间共享Firebase数据。

然而,在这种情况下,你必须使用互联网连接。

 类似资料:
  • 在我的测试应用程序中,用户点击一个购买按钮,然后购买一个物品。当购买完成时,一个textview会显示为“购买完成”。都很好。:)。然而,当我杀死应用程序,并再次打开它,购买按钮再次出现....:/。为什么会发生这种情况?谷歌对此不是很清楚。下面是代码。 固定 最后使用if条件使视图可见或不可见 解决方案并不难,但我必须大量阅读文档,使用调试器点,就是这样:)。

  • 我在测试我的应用内计费时遇到了麻烦。 (使用Google Play应用内计费版本3 API) 问题: 已退款的应用程序内购买仍然存在于购买列表中,该列表由BillingClient.query购买()提供。 当我在一月份尝试退款时,退款的物品从购物清单上消失了。 我所做的: 作为测试人员购买了一些物品。 (我很确定对话框说是测试购买。) 之后在谷歌游戏控制台退款。 等到他们的付款状态变成退款。 清

  • 那么在应用计费v3 API中如何处理退款呢?我假设对于一个非消耗品,退款被处理,然后google通过他们的后端处理这个处理,然后当getPurchaseState()被执行时,它将返回值2(退款)。如果是这样的话,这对于一个非消耗性产品来说是非常有效的。 当对可消费购买进行getPurchaseState()调用时,它返回null。这是假设购买之前是成功的,并且该项目被消费和供应。我想我可以在应用

  • 我正在学习应用内计费,但我有一个问题,谷歌的应用内计费的例子,地下城的一个。 我已经设置了应用程序,添加了我的公钥,并将makeRequestBundle()中的API_VERSION更改为1。 我甚至尝试了一个不同的设备,以确保这不是因为开发者不能购买他们自己的产品,我得到了相同的信息在两个设备上。 我错过了什么?

  • 为了测试Android应用内计费v3,我实现了一个对话框,其中添加了一个选项适配器。我添加了测试SKU,“Android.测试.购买”,“Android.测试.取消”,“Android.测试.退款”,“Android.测试.项目不可用”。 当我使用该对话框启动购买流时,一切正常,我能够购买该商品,并且该商品是绝对购买的。然而,当我的应用程序尝试刷新UI时,我会收到一个nullpointerexce

  • 问题内容: 我确信你们中有人注意到,如果您有Acrobat Reader(或其他PDF阅读器),并在Firefox中打开一个PDF,您会看到它嵌入在您的标签中。有什么方法可以将应用程序嵌入JFrame中? 问题答案: 这是一个相当棘手的问题。通常,诸如Adobe Reader之类的本机应用程序不提供可以嵌入到swing应用程序中的组件。但是在Windows中,有COM / OLE方法可以将应用程序