从您的应用中调用函数
借助 Cloud Functions for Firebase 客户端 SDK,您可以直接从 Firebase 应用调用函数。如需以这种方式从应用调用函数,请在 Cloud Functions 中编写和部署 HTTP Callable 函数,然后添加从应用调用该函数的客户端逻辑。
请务必注意,HTTP Callable 函数与 HTTP 函数类似,但并不完全相同。如需使用 HTTP Callable 函数,您必须将适用于您平台的客户端 SDK 与后端 API 搭配使用(或实现相关协议)。Callable 函数与 HTTP 函数存在以下重要区别:
- 使用 Callable 函数时,Firebase Authentication 令牌、FCM 令牌和 App Check 令牌(如果可用)会自动包含在请求中。
- 触发器会自动对请求正文进行反序列化,并验证身份验证令牌。
Firebase SDK for Cloud Functions 第 2 代及更高版本可与下列 Firebase 客户端 SDK 版本及更高版本交互,以支持 HTTPS Callable 函数:
- Firebase SDK 12.11.0(Apple 平台)
- Firebase SDK 22.1.0(Android 平台)
- Firebase Modular Web SDK v. 9.7.0
如果您要在不受支持的平台上构建的应用中添加类似功能,请参阅 https.onCall 协议规范。本指南的其余部分提供了有关如何编写、部署和调用面向 Apple、Android、Web、C++ 和 Unity 平台的 HTTP Callable 函数的说明。
编写和部署 Callable 函数
本部分中的代码示例基于一个完整的快速入门示例,该示例演示了如何使用客户端 SDK 之一向服务器端函数发送请求并获取响应。首先,导入所需的模块:
Node.js
// Dependencies for callable functions.
const {onCall, HttpsError} = require("firebase-functions/https");
const {logger} = require("firebase-functions");
// Dependencies for the addMessage function.
const {getDatabase} = require("firebase-admin/database");
const sanitizer = require("./sanitizer");
index.js
Python
# Dependencies for callable functions.
from firebase_functions import https_fn, options
# Dependencies for writing to Realtime Database.
from firebase_admin import db, initialize_app
main
.py
