Ionic 4, Capacitor und FCM Plugin

Ich arbeite momentan (hobbymäßig) an einer Ionic App mit Firebase Integration.
Es sollte nicht viel passieren: ein PHP-Script holt sich das letzte Datum von Änderungen am Datenbestand (API hat eine entsprechende Funktion), vergleicht mit dem gespeicherten Daten und, wenn Änderungsdatum höher als das gespeicherte Datum ist, wird dieses Datum gespeichert und durch Firebase eine Benachrichtigung an die Geräte, wo die App läuft, verschickt. Als die App die Benachrichtigung bekommt, ruft sie API auf und aktualisiert die Daten.

Dabei: ich habe entschieden, Capacitor auszuprobieren.
Was bedeutet es für mich?
Ich muss mit von Cordova auf Capacitor umstellen.
Z.B., die Plattformen (iOS und Android) Projekte werden nun zur festen Bestandteilen vom Ionic Projekt.
Die Änderungen, die ich an Ionic Projekt vornehme, werden auf Plattformen wie folgt übertragen:

ionic build
npx cap copy
npx cap update // wenn z.B. neue Plugins installiert wurden

npx cap sync // copy & update zusammen

ionic capacitor sync // dasselbe, wie npx cap sync 

Das ist gewöhnungsbedürftig, aber gar nicht kompliziert.
Firebase Integration erfolgt auch ohne nennenswerte Probleme, zumindest wenn ich von Firebase aus eine Nachricht schicke.
Aber: ich will die Benachrichtigungen per PHP Script schicken, und zwar nicht auf die bestimmten Geräte, sondern an alle. Was eigentlich die Aufgabe erleichtert.
Wie kann ich das tun?

Ein PHP-Beispiel kann man hier finden.
Um alle Geräte zu erreichen, kann ich die Benachrichtigung auf ein „topic“ schicken ('to' => '/topics/your_topic'), und dann in die App dieses topic abonnieren.

Aber: Capacitor enthält zwar eine grundsätzliche Möglichkeiten, Push Notifications zu empfangen, für topics reicht es aber nicht aus. Zum Glück, existiert auch ein FCM Plugin für Capacitor .
Die Verwendung sieht ganz einfach aus und kann fast per „copy/paste“ übernommen werden.

Dann… Testen. Mein PHP-Script schickt Benachrichtigung, ich empfange sie problemlos unter iOS. In Android bekomme ich aber Fehlermeldung, dass FCMPlugin der App unbekannt ist.
Ich aktualisiere die App samt Plugins.
Ich lösche Android Platform.
Ich füge Android Platform wieder hinzu.
Ich aktualisiere die App wieder. Ich sehe sogar, dass FCMPlugin definitiv installiert wird.
Keine Wirkung.

Ich schau „unter die Haube“ ins Android Projekt und finde in MainActivity.java folgende Stelle:

public class MainActivity extends BridgeActivity {
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    // Initializes the Bridge
    this.init(savedInstanceState, new ArrayList<Class<? extends Plugin>>() {{
      // Additional plugins you've installed go here
      // Ex: add(TotallyAwesomePlugin.class);
      
    }});
  }
}

Ok, wahrscheinlich muss ich hinzufügen:

public class MainActivity extends BridgeActivity {
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    // Initializes the Bridge
    this.init(savedInstanceState, new ArrayList<Class<? extends Plugin>>() {{
      // Additional plugins you've installed go here
      // Ex: add(TotallyAwesomePlugin.class);
      // FCMPlugin unter Android, anders geht es anscheinend nicht - eg
      add(io.stewan.capacitor.fcm.FCMPlugin.class);
    }});
  }
}

Dann führe ich die App auf dem Android Emulator aus, schicke Benachrichtigung per Script und sehe in Chrome Console, dass sie letztendlich empfangen wird.
Geschafft!