【Flutter】cloud_functionsでCloud Functions APIを使う

Flutter

cloud_functionsとは

cloud_functionsは、FlutterアプリケーションからFirebaseのCloud Functions APIを使用するためのプラグインです。
Cloud Functionsは、サーバーを管理することなく、スケーラブルなバックエンドロジックを実行するためのツールを提供します。
このプラグインを使用することで、アプリケーションから直接クラウド上で関数を呼び出すことができます。

cloud_functions | Flutter package
A Flutter plugin allowing you to use Firebase Cloud Functions.

使い方

インストール

まず、pubspec.yamlファイルに以下の依存関係を追加して、パッケージをインストールします。

dependencies:
  cloud_functions: ^5.0.1

Firebaseプロジェクトの設定

  1. Firebaseコンソールで新しいプロジェクトを作成します。
  2. Android、iOS、Webなどのプラットフォーム用にアプリを設定し、Firebase SDKをプロジェクトに追加します。
  3. Firebaseのドキュメントに従って、FirebaseプロジェクトをFlutterアプリに統合します。

初期化

firebase_coreパッケージを使用してFirebaseを初期化します。

import 'package:firebase_core/firebase_core.dart';
import 'package:flutter/material.dart';

void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await Firebase.initializeApp();
  runApp(MyApp());
}

Cloud Functionsの呼び出し

Firebaseが初期化されたら、Cloud Functionsを呼び出すことができます。以下は、Cloud Functionsを呼び出すサンプルコードです。

import 'package:cloud_functions/cloud_functions.dart';
import 'package:flutter/material.dart';

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: Text('Cloud Functions Demo'),
        ),
        body: Center(
          child: ElevatedButton(
            onPressed: () async {
              try {
                HttpsCallable callable = FirebaseFunctions.instance.httpsCallable('yourFunctionName');
                final results = await callable.call(<String, dynamic>{
                  'parameter1': 'value1',
                  'parameter2': 'value2',
                });
                print(results.data);
              } catch (e) {
                print('Error: $e');
              }
            },
            child: Text('Call Function'),
          ),
        ),
      ),
    );
  }
}

パラメータの説明

  • FirebaseFunctions.instance.httpsCallable('yourFunctionName'):呼び出したいCloud Functionの名前を指定します。
  • call(<String, dynamic>{}):関数に渡すパラメータをマップ形式で指定します。ここに渡したデータは、Cloud Functionsで使用することができます。

トラブルシューティングとフィードバック

参考リンク

このプラグインを使用することで、Flutterアプリケーションから直接クラウド上で複雑なロジックを実行でき、スケーラビリティと信頼性の高いバックエンドを構築することができます。

Buy me a coffee!

Flutterアプリ開発
シェアする
sogaをフォローする
タイトルとURLをコピーしました