Reputation: 2451
I have a react native app with react-native-firebase and I'm trying to run a callable https firebase function which is deployed to a custom region.
I've read that firebase.app().functions("MY-REGION")
so I tried the following:
import { firebase } from "@react-native-firebase/database"
import functions from "@react-native-firebase/functions"
firebase.app().functions("MY-REGION")
But If I run that I get this error:
Error: You attempted to use
"firebase.app('[DEFAULT]').functions" but this
module could not be found.
Ensure you have installed and imported the
'@react-native-firebase/functions' package
The functions package is installed.
If I remove the @react-native-firebase/functions
import the error stays the same.
How can I specify the region for firebase https functions in react-native-firebase
?
firebase.initializeApp({
...options
})
firebase.app().functions("MY-REGION")
And that says Error: Firebase App named '[DEFAULT]' already exists
firebase.initializeApp({
...options
}, "APP_NAME")
firebase.app("APP_NAME").functions("MY-REGION")
Gives Error: No firebase App 'APP_NAME' has been created - call firebase.initializeApp()
I hope I'm missing something trivial.
Upvotes: 4
Views: 1643
Reputation: 2451
A solution is to change the functions import from import functions from "..."
to import "..."
:
import { firebase } from "@react-native-firebase/database"
import "@react-native-firebase/functions" // <--
// call a https firebase function
firebase.app().functions("MY-REGION").httpsCallable('MyFunction')()
Note that MY-REGION
should be set to the region shown in the firebase functions dashboard for the selected httpsCallable function.
The fix I found was indeed quite trivial...
I've shared it here so it can be useful for others, but better solutions are welcome!
Upvotes: 10