Android 颤振:结合通知频道和FCM主题

Android 颤振:结合通知频道和FCM主题,android,firebase,flutter,google-cloud-functions,firebase-cloud-messaging,Android,Firebase,Flutter,Google Cloud Functions,Firebase Cloud Messaging,有许多关于Stackoverflow的文章描述了如何创建和订阅通知通道,但它们从未描述这两个选项的组合。 在本文中,我希望实现以下目标:遗憾的是,他们提供的解决方案并不能真正让我满意 我想要达到的目标: 用户可以在Android智能手机的系统设置中订阅各种通知频道。当应用程序启动时,使用Flatter_local_通知包自动创建通知通道 在Firebase中创建新文档时,我的FCM将通过云函数自动创建。这就是我的云功能: const functions = require("fireb

有许多关于Stackoverflow的文章描述了如何创建和订阅通知通道,但它们从未描述这两个选项的组合。 在本文中,我希望实现以下目标:遗憾的是,他们提供的解决方案并不能真正让我满意

我想要达到的目标: 用户可以在Android智能手机的系统设置中订阅各种通知频道。当应用程序启动时,使用Flatter_local_通知包自动创建通知通道

在Firebase中创建新文档时,我的FCM将通过云函数自动创建。这就是我的云功能:

const functions = require("firebase-functions");
const admin = require("firebase-admin");
admin.initializeApp(functions.config().firebase);

exports.sendPushNotification = functions.region("europe-west3").firestore
    .document("Collection/{wildcard}")
    .onCreate((snapshot, context) => {
      const title = snapshot.get("Title");
      const subject = snapshot.get("Preview");

      const payload = {
        notification: {
          title: title,
          body: subject,
          channelId: "Announcement",
        },
      };

      return admin.messaging().sendToTopic("Announcement", payload);
    });
因此,每当创建新文档时,都会将FCM发送到“公告”主题。 好吧,通知渠道和主题不一样,所以用户即使激活了相应的通知渠道也不会收到任何通知。我必须调用
等待FirebaseMessaging.instance.SubscribeToPic('Announcement')第一个。那么,同步订阅的主题和激活的通知频道的最佳选项是什么