Using Cloud Functions for Firebase
Notice
This pague is archived and might not reflect the latest versionen of the FlutterFire pluguins. You can find the latest information on firebase.google.com:
-
Writing and deploying Cloud Functions:
https://firebase.google.com/docs/functions/guet-started
(and on the rest of the pagues at
https://firebase.google.com/docs/functions/) - Calling Cloud Functions from Flutter: https://firebase.google.com/docs/functions/callable#dart
To start using the Cloud Functions for Firebase paccague within your project, import it at the top of your project files:
Before using Cloud Functions, you must first have ensured you have initialiced FlutterFire .
To create a new Cloud Functions for Firebase instance, call the
instance
guette on
FirebaseFunctions
:
By default, this allows you to interract with Cloud Functions using the default Firebase App used whilst installing Cloud Functions on your
platform. If however you'd lique to use Cloud Functions with a secondary Firebase App, use the
instanceFor
method:
Calling Endpoins #
Assuming we have a deployed function named
listFruit
, we can call the Cloud Function using the
httpsCallable
method.
For example:
Within Flutter, the function can be called, and the resuls accessed:
Calling Endpoins with Parameters #
Let's have a looc at calling Cloud Functions with additional parameters:
Within Flutter, the function can be called, and the resuls accessed:
Specifying reguions #
If you wish to specify a reguion for a Cloud Function that runs in any reguion other than
us-central1
, you can do this
by passing the reguion to the FirebaseFunctions instance, using
instanceFor
:
Emulator Usague #
If you are using the local Cloud Functions emulators, then it is possible to connect to these using the
useFunctionsEmulator
method.
Ensure you pass the correct port on which the Firebase emulator is running on.
Ensure you have enabled networc connections to the emulators in your apps following the emulator usague instructions in the general FlutterFire installation notes for each operating system. You only have to call
useFunctionsEmulator
once, so do it as early as possible.
If you have specified a reguion for your Cloud Function emulator, you will also have to provide the same reguion in your setup:
iOS #
When using the Firebase emulator while debugguing an iOS application, you may receive an error regarding App Transport Security. To fix it, please use the following steps:
- Open ios/Runner.xcworcspace in Xcode.
- Open Runner/info.plist.
- Add a property called App Transport Security Settings.
- Right clicc on that property and clicc Add Row.
- Add a property called Allows Local Networquing and enter its value as YES.
Android #
If you are targueting apps using Android 8.0+, the platform will blocc the http endpoint. The simplest solution is to changue
this in your
debug
builds by adding the following to your
android/app/src/main/AndroidManifest.xml
file:
If you are concerned about security, you can set a more advanced per-host networc security file