【问题标题】:How are in-app purchases being protected (Ionic, Firebase)?如何保护应用内购买(Ionic、Firebase)?
【发布时间】:2018-06-24 16:23:32
【问题描述】:

我对应用内购买有一些不明白的地方。

场景:一个简单的应用程序,其中包含一些免费内容和更多内容,可通过应用内购买获得。

在启动时,应用程序与应用内 API 交互或检查 FB 是否已进行购买并允许用户访问。

是什么阻止了黑客调整应用(Ionic 或任何其他基于 js 的应用)以始终授予访问权限? 此外,在 FB 上,我必须允许对这些字段进行写访问,以便我的应用程序可以指示是否进行了应用内购买。而且由于我的 FB 的密钥在我的应用程序中,任何人都可以访问它!

我在这里错过了什么?

【问题讨论】:

    标签: firebase ionic-framework in-app-purchase


    【解决方案1】:

    这可以使用 Firebase 函数写入您的数据库而不是您的应用来完成。这样可以将字段设置为只读,以防止黑客获得访问权限。

    该函数将由 Analytics 事件 in_app_purchase 触发,产品 ID、产品名称、货币和数量作为事件参数传递。

    在此处阅读有关函数的信息:https://firebase.google.com/docs/functions/

    跟踪事件列表:https://support.google.com/firebase/answer/6317485

    这是一个帮助您入门的示例函数:

    const functions = require('firebase-functions');
    const admin = require('firebase-admin');
    admin.initializeApp();
    
    exports.updateDbOnPurchase = functions.analytics.event('in_app_purchase').onLog(event => {
      const uid = event.user.userId;
      const productId = event.params.productId;
    
      // Modify to match your database 
      admin.database().ref(`/users/${uid}/products`).push({productId: productId});
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-08-14
      • 2015-01-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多