将自定义API与Firebase云功能结合使用

时间:2020-03-27 16:42:01

标签: flutter dart google-cloud-functions

我正在构建一个需要我使用Cloud Functions进行设备到设备消息传递的应用程序。我过去曾经使用过云功能,但仅在Firestore和Realtime Database中使用过。但是我的应用程序不使用那些平台。我正在使用带有自定义API的自定义后端。所以这是我的问题:

是否有一种方法可以使用Cloud Functions与我的api进行交互以进行更改,就像它适用于Firestore一样?如果是,请分享一些有用的资源。

1 个答案:

答案 0 :(得分:0)

如果我对您的理解是正确的,那么您会问您是否可以使用简单的API从Flutter应用程序中调用自定义Cloud Functions,类似于您如何调用Cloud Firestore。

在这种情况下,最接近的方法是创建一个所谓的Callable Cloud Function,然后使用cloud-functions plugin从Flutter代码中调用它。以此调用您的自定义可调用Cloud Function可以执行以下步骤:

  1. import 'package:cloud_functions/cloud_functions.dart';

  2. 获取可调用函数的实例:

    final HttpsCallable callable = CloudFunctions.instance.getHttpsCallable(
        functionName: 'YOUR_CALLABLE_FUNCTION_NAME',
    );
    
  3. 调用函数:

    dynamic resp = await callable.call();
    

    使用参数调用函数:

    dynamic resp = await callable.call(<String, dynamic>{
        'YOUR_PARAMETER_NAME': 'YOUR_PARAMETER_VALUE',
    });