Firebase Cloud Function y React Native

Firebase Cloud Function y React Native

Me gustaría saber si es posible ejecutar una función desde Firebase Cloud Function en una aplicación React Native Expo (usando el SDK). Intenté instalar el sdk pero obtengo varios errores. Si no es así, ¿hay otra forma de hacerlo sin el SDK?

Mostrar la mejor respuesta

Si no desea instalar ningún módulo de terceros, utilice la API fetch de react native:

Una operación simple de GET sería:

fetch('<Your Firebase Cloud Function URL>')

Una operación POST se haría de esta manera:

fetch('<Yout Firebase Cloud Function URL>', {
    method: 'POST',
    headers: {
        ...
    },
    body: JSON.stringify({
        ...
    })
})

O bien, hay algunas bibliotecas de terceros populares como axios. Instálalo usando el comando npm i --save axios y luego:

import axios from 'axios'

axios.get('<Your Firebase Cloud Function URL>')

o

axios.post('<Your Firebase Cloud Function URL>', {
    ...
    ...
})

Tengo una función que obtiene a nuestro usuario cercano y los escribí en el lado del cliente y cuando la aplicación crecerá, se necesita tiempo para obtener los resultados y ralentizar el rendimiento, por lo que quiero moverlos a la función de nube de firebase, pero ahora cómo manejar los resultados de la función? Es decir, guarde los resultados en la base de datos en tiempo real y solicite recuperar los datos guardados, ¿o qué?

@DevAS Envía los resultados al lado del cliente. Su función de nube comienza con algo como esto, ¿verdad? exports.someFunction = functions.https.onRequest((req, res) => { // Do whatever you need to do to get the results; return res.status(200).send(...) }

@K.Wu Me enfrento a lo mismo que @DevAs quiere ... pero no puedo entender este / Do whatever you need to do to get the results Solo obtengo usuarios de DB y luego uso un paquete de terceros para manejarlo en el lado del cliente, ¿cómo puedo? Lo manejo con Cloud Functions

@OliverD La suya es una pregunta separada, que no se puede responder con un breve comentario y está en contra de las reglas de la comunidad SO publicar otra respuesta a continuación, ya que es irrelevante para la pregunta original. Si publicas una nueva pregunta y me fijas el enlace, puedo echarle un vistazo.