FlutterでFirebase Messagingを使用する方法


まず、Firebaseプロジェクトを作成し、Firebase Messagingを設定する必要があります。次に、FlutterプロジェクトにFirebase Messagingの依存関係を追加します。

  1. Firebaseプロジェクトの作成と設定

    • Firebaseコンソールにアクセスし、新しいプロジェクトを作成します。
    • プロジェクトの設定で、Firebase Cloud Messagingを有効にします。
    • Firebaseプロジェクトの設定ファイル(google-services.json)をダウンロードします。
  2. FlutterプロジェクトにFirebase Messagingの依存関係を追加する

    • Flutterプロジェクトのpubspec.yamlファイルを開きます。
    • dependenciesセクションに、firebase_messagingパッケージを追加します。
      dependencies:
      firebase_messaging: ^X.X.X
  3. デバイスにトークンを取得するコードを追加する

    • Flutterアプリのエントリーポイント(main.dartなど)に、Firebase Messagingの初期化コードを追加します。
      import 'package:firebase_messaging/firebase_messaging.dart';
      void main() async {
      WidgetsFlutterBinding.ensureInitialized();
      await Firebase.initializeApp();
      FirebaseMessaging messaging = FirebaseMessaging.instance;
      String? token = await messaging.getToken();
      print('Firebase Messaging token: $token');
      }
  4. プッシュ通知を受信する方法を実装する

    • Firebase MessagingのonMessage、onBackgroundMessage、onResume、onLaunchなどのコールバックを使用して、プッシュ通知を受信し、適切に処理するコードを実装します。以下は例です。
      FirebaseMessaging.onMessage.listen((RemoteMessage message) {
      print('Received message: ${message.notification?.body}');
      });
      FirebaseMessaging.onBackgroundMessage(_firebaseMessagingBackgroundHandler);
      Future<void> _firebaseMessagingBackgroundHandler(RemoteMessage message) async {
      print('Message handled in the background!');
      }
      FirebaseMessaging.onMessageOpenedApp.listen((RemoteMessage message) {
      print('Message clicked!');
      });
  5. トピックのサブスクリプションと送信

    • 特定のトピックにサブスクライブすることで、特定のユーザーセグメントにプッシュ通知を送信できます。以下は例です。
      FirebaseMessaging messaging = FirebaseMessaging.instance;
      await messaging.subscribeToTopic('topic_name');