title: Firebase admin SDK FCM error Exactly one of topic, token or condition is required
body: <p>I am fixing an error message which occurred, but it also used to work before. I am sending FCM notification with multiple tokens and am getting the following error</p>
  
  <pre><code>0|api      | 2020-2-11 13:26:26   [ExceptionsHandler] Exactly one of topic, token or condition is required
  0|api      |  +542752ms
  0|api      | Error: Exactly one of topic, token or condition is required
  0|api      |     at FirebaseMessagingError.FirebaseError [as constructor] (/var/www/tokee-api-new/node_modules/firebase-admin/lib/utils/error.js:42:28)
  0|api      |     at FirebaseMessagingError.PrefixedFirebaseError [as constructor] (/var/www/tokee-api-new/node_modules/firebase-admin/lib/utils/error.js:88:28)
  0|api      |     at new FirebaseMessagingError (/var/www/tokee-api-new/node_modules/firebase-admin/lib/utils/error.js:254:16)        0|api      |     at Object.validateMessage (/var/www/tokee-api-new/node_modules/firebase-admin/lib/messaging/messaging-types.js:46:15)
  0|api      |     at /var/www/tokee-api-new/node_modules/firebase-admin/lib/messaging/messaging.js:265:31
  0|api      |     at Array.map (&lt;anonymous&gt;)
  0|api      |     at Messaging.sendAll (/var/www/tokee-api-new/node_modules/firebase-admin/lib/messaging/messaging.js:264:29)
  0|api      |     at Messaging.sendMulticast (/var/www/tokee-api-new/node_modules/firebase-admin/lib/messaging/messaging.js:313:21)   0|api      |     at userChunks.forEach.userChunk (/var/www/tokee-api-new/src/modules/common/firebase/firebase.service.ts:154:42)     0|api      |     at Array.forEach (&lt;anonymous&gt;)
  0|api      |     at FCMService.&lt;anonymous&gt; (/var/www/tokee-api-new/src/modules/common/firebase/firebase.service.ts:142:16)
  0|api      |     at Generator.next (&lt;anonymous&gt;)
  0|api      |     at /var/www/tokee-api-new/dist/src/modules/common/firebase/firebase.service.js:13:71
  0|api      |     at new Promise (&lt;anonymous&gt;)
  0|api      |     at __awaiter (/var/www/tokee-api-new/dist/src/modules/common/firebase/firebase.service.js:9:12)
  0|api      |     at FCMService.sendToMany (/var/www/tokee-api-new/dist/src/modules/common/firebase/firebase.service.js:123:16)       0|api      |     at AdminNotificationController.&lt;anonymous&gt; (/var/www/tokee-api-new/src/modules/notification/admin-notification.controller.ts:65:42)
  0|api      |     at Generator.next (&lt;anonymous&gt;)
  0|api      |     at fulfilled (/var/www/tokee-api-new/dist/src/modules/notification/admin-notification.controller.js:16:58)
  0|api      |     at &lt;anonymous&gt; 
  </code></pre>
  
  <p>The code producing the error: </p>
  
  <pre><code>async sendToMany(users: User[], notification: VSendNotification, title = 'Title', lowPriority = false) {
      // We split emails into arrays of max. 100 size because of the limitation with FCM
      const userChunks = _.chunk(users, 100);
      const promises = [];
      userChunks.forEach(userChunk =&gt; {
        const msg: admin.messaging.MulticastMessage = {
          notification: {
            title,
            body: notification.body
          },
          tokens: userChunk.map(user =&gt; user.firebaseToken),
          android: {
            priority: lowPriority ? 'normal' : 'high'
          }
        };
        promises.push(this.app.messaging().sendMulticast(msg));
      });
      const result = await Promise.all(promises);
      let accepted = 0;
      let rejected = 0;
      result.forEach(response =&gt; {
        accepted += response.successCount;
        rejected += response.failureCount;
      });
  
      return { accepted, rejected, notification };
    }
  }
  </code></pre>
  
  <p>Thoughts on what could be wrong?</p>