запустить облачные функции analyti c локально и сохранить событие analyti c в коллекции пожарных? - PullRequest
0 голосов
/ 27 марта 2020

У меня есть вопрос относительно запуска облачной функции analyti c, и эта функция довольно проста, когда происходит какая-либо регистрация, затем она срабатывает, и это событие сохраняется в коллекции. Я использую эмуляторы firebase: start - только функции для запуска функция и когда я запускаю функцию нормальная функция работает нормально, а не функции analyti c вот мой код? и я также хочу знать, это правильный способ хранения в коллекции Firestore?

const functions = require('firebase-functions');
const admin = require('firebase-admin');

const serviceAccountKey = require('./keyv2.json')

admin.initializeApp({
    credential: admin.credential.cert(serviceAccountKey),
});
const db = admin.firestore()
// // Create and Deploy Your First Cloud Functions
// // https://firebase.google.com/docs/functions/write-firebase-functions
//
exports.helloWorld = functions.https.onRequest((request, response) => {
 response.send("Hello from Firebase!");
 console.log('hello')
});

exports.eventStore = functions.analytics.event('sign_up').onLog(async event => {
    console.log('hello')
    console.log(event)
    const user = event.user
    await db.collection('EventLogs').add(user)
    console.log('eventLog is added in the EventLogs collection')
})

1 Ответ

0 голосов
/ 27 марта 2020

События Google Analytics для Firebase в настоящее время не реализованы эмуляторами Firebase. См. Документацию Firebase по комплекту эмуляторов, в частности, раздел , какие функции и платформы Firebase поддерживаются?

Код для ваших функций, запускаемых Google Analytics, выглядит хорошо, sh, но вы Вам понадобится:

  1. Убедитесь, что ваш код возвращает что-то в среду Cloud Functions, чтобы он знал, когда ваш код готов. В этом случае достаточно простого return true в конце функции.
  2. Я не совсем уверен, можно ли сериализовать event.user в JSON, поэтому, возможно, стоит обернуть его в JSON.parse(JSON.stringify(user)).
...