我已经在firebase
中创建了一个云函数,我想将这些函数的响应返回给Android应用。
Cloud functions
用typescript
编写,就像
exports.validateOtp = functions.https.onRequest((req,res)=>{
phoneNumber = req.query.phoneNumber;
otp = req.query.otp;
getVal();
function getVal(){
let result = authFunction.userValidation(phoneNumber,otp).then(function(boolResult){
return res.status(204).send(result);
});
}
});
如何在客户端或Android应用程序中获取result
的值?
答案 0 :(得分:1)
由于您的Cloud Function是HTTPS,因此当您将HTTP请求(GET,POST,PUT,DELETE和OPTIONS)发送到函数端点时,它将被触发。
在您的情况下,函数端点URL将为
https://us-central1-<your-project-id>.cloudfunctions.net/validateOtp
请参阅https://firebase.google.com/docs/functions/http-events#invoke_an_http_function
有几种可能的方式将HTTP请求从Android应用发送到HTTP端点。例如,您可以使用Volley库,android-async-http库或Retrofit库。
请注意,切换到 HTTPS可调用云功能而不是“简单” HTTPS云功能可能很有趣。
如doc中所述,“ Firebase客户端SDK的云功能可让您直接从Firebase应用程序调用函数。要以这种方式从应用程序调用函数,请在其中编写并部署HTTPS Callable函数。云功能”。
在HTTPS Callable函数提供的优点中,您会发现它“自动反序列化请求正文”,“验证身份令牌”以及不需要使用额外的库来进行更新的事实。调用函数,而只是使用doc中详细说明的代码。