Cloud Functions for Firebase:测试购买时的购买触发器
Cloud Functions for Firebase: purchase trigger on test purchase
我正在尝试使用 Cloud Functions for Firebase 实施购买验证。这是我的 index.js
'use strict';
const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp(functions.config().firebase);
exports.updateDbOnPurchase = functions.analytics.event('in_app_purchase').onLog(event => {
const uid = event.data.user.userId;
const famKey = getFamKey(uid)
console.log("UID: ${uid}, famKey: ${famKey}")
admin.database().ref('/users/${uid}/famKey').then(snap => {
if (snap.exists()) {
admin.database().ref('/families/${famKey}/paydata/expire').set(Math.round(new Date().getTime()/1000) + 2592000)
}
});
});
在我的应用程序中,我实施了应用程序内订阅,将 APK 推送到 alpha 轨道并进行了测试购买。但此代码从未触发。
所以,我有以下问题:
应用内订阅是否适用于 in_app_purchase
事件?
是否适用于测试购买?还是一定要实测?
续订会触发事件吗?
是否可以通过此代码获取购买的SKU?
如果盗版者使用Freedom/Lucky Patcher,是否会触发此代码? Firebase 是通过 Google Play 执行购买验证,还是我必须自己执行?
延迟了一个月(在我使用数据库触发器完成实施后很长时间),我收到了 Firebase 支持的答复:
Hi Dima,
Sorry for the delay in my response. Please see the answers to your
questions below:
- Does In-App subscription works with in_app_purchase event?
应用内订阅不会触发 in_app_purchase 事件,因为
不计入续订、退款、monthly/early 订阅
in_app_purchases.
- Is it works with test purchases? Or I must test on real purchase?
Firebase Analytics 会自动过滤掉测试购买,因此它
不会触发函数的 "in_app_purchase" 事件。
- Will event be triggered on subscription renewal?
订阅续订不会触发"in_app_purchase"事件
因为应用内订阅不会触发 "in_app_purchase"
事件。
- Is it possible to get purchase SKU in this code?
我假设你要获取的是产品ID。你可以
通过访问 event.user.appInfo 属性获取产品 ID
来自函数。
- In case of pirate using Freedom / Lucky Patcher will this code be triggered? Does Firebase performs purchase verification over Google
Play, or I must implement it myself?
Firebase Analytics 执行一些购买验证措施
iOS 和 Android。但是,这只会影响您的分析数据。
如果你想在你的应用程序中打击盗版,你需要实施
自己验证一下。
如果您有任何其他问题,请告诉我。
希望这对某人有用
我正在尝试使用 Cloud Functions for Firebase 实施购买验证。这是我的 index.js
'use strict';
const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp(functions.config().firebase);
exports.updateDbOnPurchase = functions.analytics.event('in_app_purchase').onLog(event => {
const uid = event.data.user.userId;
const famKey = getFamKey(uid)
console.log("UID: ${uid}, famKey: ${famKey}")
admin.database().ref('/users/${uid}/famKey').then(snap => {
if (snap.exists()) {
admin.database().ref('/families/${famKey}/paydata/expire').set(Math.round(new Date().getTime()/1000) + 2592000)
}
});
});
在我的应用程序中,我实施了应用程序内订阅,将 APK 推送到 alpha 轨道并进行了测试购买。但此代码从未触发。
所以,我有以下问题:
应用内订阅是否适用于
in_app_purchase
事件?是否适用于测试购买?还是一定要实测?
续订会触发事件吗?
是否可以通过此代码获取购买的SKU?
如果盗版者使用Freedom/Lucky Patcher,是否会触发此代码? Firebase 是通过 Google Play 执行购买验证,还是我必须自己执行?
延迟了一个月(在我使用数据库触发器完成实施后很长时间),我收到了 Firebase 支持的答复:
Hi Dima,
Sorry for the delay in my response. Please see the answers to your questions below:
- Does In-App subscription works with in_app_purchase event?
应用内订阅不会触发 in_app_purchase 事件,因为 不计入续订、退款、monthly/early 订阅 in_app_purchases.
- Is it works with test purchases? Or I must test on real purchase?
Firebase Analytics 会自动过滤掉测试购买,因此它 不会触发函数的 "in_app_purchase" 事件。
- Will event be triggered on subscription renewal?
订阅续订不会触发"in_app_purchase"事件 因为应用内订阅不会触发 "in_app_purchase" 事件。
- Is it possible to get purchase SKU in this code?
我假设你要获取的是产品ID。你可以 通过访问 event.user.appInfo 属性获取产品 ID 来自函数。
- In case of pirate using Freedom / Lucky Patcher will this code be triggered? Does Firebase performs purchase verification over Google Play, or I must implement it myself?
Firebase Analytics 执行一些购买验证措施 iOS 和 Android。但是,这只会影响您的分析数据。 如果你想在你的应用程序中打击盗版,你需要实施 自己验证一下。
如果您有任何其他问题,请告诉我。
希望这对某人有用