如何设置Firebase Storage存储订阅???因此,用户可以使用我的应用程序,但他们必须支付额外的存储空间

时间:2018-07-01 17:01:16

标签: java android firebase memory firebase-storage

我正在创建一个演讲记录应用程序,使学生可以更轻松地共享和从录制的讲座中学习。此应用程序将Firebase存储中的mp3和png文件存储。每个用户可以免费使用100MB的存储空间(这可以记录大约4至8个讲座)。问题是用户可能需要更多的内存,而我无法负担全部广告费用,因此我想为那些需要更多内存的用户增加月费。

现在我不确定或在通过代码进行任何货币交易方面有任何经验。谁能给我一个主意或我可以解决这个问题的方法?

P.S。我也在考虑使用Google Drive API来允许用户将录制的演讲保存在自己的云中,但是我不确定这是否会给我像Firebase存储一样的功能。

1 个答案:

答案 0 :(得分:1)

如果我正确理解了需求,这就是您需要实现的。

  1. 应用内订阅:docs
  2. 这些订阅的服务器端验证-在您的情况下是Firebase函数,您将在用户订阅时从您的应用中调用该函数,它将验证购买的合法性并向用户个人资料授予自定义声明(即他们的个人资料上的标记)表示他们有权访问更多存储空间。 My question/answer可能会帮助您。有关自定义声明here的更多信息。
  3. 验证用户上载文件时其文件夹总大小不超过限制(100 MB或更大,取决于是否设置了自定义声明)的逻辑。不幸的是,无法直接在“存储规则”中检查文件夹的总大小,因此您必须编写另一个Firebase函数,该函数将在用户上载文件docs时触发。
  4. 现在,我不确定是否也可以从函数中获取文件夹的总大小,因此,您可能还需要编写自己的逻辑来跟踪用户已使用了多少存储空间(例如保留数据库记录),并使用该记录来验证是应保留还是丢弃新上传的文件。