Firebase
Functions
Run backend code with Cloud Functions.
Overview
Cloud Functions let you run backend code in response to events triggered by Firebase features and HTTPS requests.
Project Structure
Your functions are located in apps/firebase/functions/:
functions/
├── src/
│ └── index.ts
├── package.json
└── tsconfig.json
Writing Functions
Create an HTTP function:
import * as functions from 'firebase-functions';
export const helloWorld = functions.https.onRequest((request, response) => {
response.send("Hello from Firebase!");
});
Create a Firestore trigger:
export const onUserCreate = functions.firestore
.document('users/{userId}')
.onCreate((snap, context) => {
const userData = snap.data();
console.log('New user created:', userData);
});
Deployment
Deploy your functions:
cd apps/firebase/functions
npm run deploy
Calling Functions from iOS
import FirebaseFunctions
let functions = Functions.functions()
let result = try await functions.httpsCallable("helloWorld").call()
Environment Configuration
Store secrets and configuration:
firebase functions:config:set api.key="YOUR_API_KEY"
Access in your function:
const apiKey = functions.config().api.key;