如何保护应用内购买(Ionic,Firebase)?

时间:2018-01-04 10:44:25

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

对于应用内购买,我无法理解。

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

一开始,应用程序与应用内API连接,或者如果已经进行了购买则检查FB并允许用户访问。

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

我在这里缺少什么?

1 个答案:

答案 0 :(得分:0)

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

该功能将由Google 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});
});