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

标签 java android firebase memory firebase-storage

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

现在我不确定或没有任何通过代码进行货币交易的经验。谁能给我一个想法或者我能做些什么来解决这个问题?

附注我还考虑使用 Google Drive API 来允许用户将录制的讲座保存在自己的云上,但我不确定这是否会给我提供与 Firebase 存储一样多的功能。

最佳答案

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

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

关于java - 如何设置 Firebase Storage 存储订阅???因此用户使用我的应用程序,但他们必须支付额外的存储费用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51125273/

相关文章:

java - Activity 中的转换界面

android - Firebase Deep Link 打开的是 Play 商店而不是 App

读取 Microsoft Word 文档时出现 Android Apache POI 错误 : org. apache.xmlbeans.SchemaTypeLoaderException Cannot resolve type for handle

android - 如果来自服务器的响应在android中为空,如何处理?

swift - fatal error : Index out of range - Swift 4 and Firebase

ios - 我想将 bool 状态保存到 Firebase 数据库中的用户配置文件

javascript - 我无法通过在 IOS 上将 authWithOAuthRedirect 与 Chrome 一起使用来获取 authData

java - wifi 无法在菜单选项上打开/关闭

java - 使用 spring 3 restful 以编程方式更改 http 响应状态

java - 带有支持库的 PreferenceFragment