Mobiludvikling med Flutter · Lektion

Firebase Cloud Messaging og notifikationer

Send og modtag push-notifikationer i Deres Flutter-app med Firebase Cloud Messaging, og håndter tilstande i forgrunden, baggrunden og efter tryk.

Lektion 4 af 413 trin

Firebase Cloud Messaging og notifikationer er en gratis Mobiludvikling med Flutter-lektion på CoddyKit. Dette er lektion 4 af 4. Du kan læse alle 3 lektioner i dette læringsspor gratis i deres fulde længde — derefter låser CoddyKit PRO alle lektioner op samt praktiske øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Den er en del af læringsforløbet i Mobiludvikling med Flutter, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Mobiludvikling med Flutter-kurset indeholder 4 lektioner i alt.

Hvorfor pushnotifikationer?

Firebase Cloud Messaging (FCM) lader din server sende pushnotifikationer til brugere, selv når appen er lukket. Det er vigtigt for at få brugere tilbage og sende advarsler i realtid.

Tilføjelse af pakken

Føj firebase_messaging til dine afhængigheder. Du bør allerede have sat firebase_core op i tidligere lektioner.

dependencies:
  firebase_core: ^2.0.0
  firebase_messaging: ^14.0.0

Anmodning om tilladelse

På iOS (og Android 13+) skal du anmode brugeren om tilladelse til notifikationer.

final messaging = FirebaseMessaging.instance;
await messaging.requestPermission(
  alert: true, badge: true, sound: true,
);

Enhedstokenet

Hver enhed får et unikt FCM-token. Send det til din server, så du kan målrette den pågældende enhed.

final token = await messaging.getToken();
print('FCM token: ' + (token ?? 'none'));

Opdatering af token

Tokens kan ændre sig. Lyt efter opdateringer, og opdatér din server.

messaging.onTokenRefresh.listen((newToken) {
  sendTokenToServer(newToken);
});

Tre tilstande for meddelelser

Du skal håndtere meddelelser i tre situationer:

  • Forgrund — appen er åben
  • Baggrund — appen er minimeret
  • Afsluttet — appen er lukket

Meddelelser i forgrunden

Når appen er åben, viser FCM ikke automatisk en systemmeddelelse — du modtager dataene og viser dem selv.

FirebaseMessaging.onMessage.listen((message) {
  final title = message.notification?.title ?? '';
  showLocalNotification(title);
});

Baggrundshåndtering

Registrer en baggrundshåndtering på øverste niveau før runApp. Den skal være en funktion på øverste niveau.

Future<void> bgHandler(RemoteMessage m) async {
  print('Background: ' + (m.messageId ?? ''));
}

void main() {
  FirebaseMessaging.onBackgroundMessage(bgHandler);
}

Håndtering af en trykket meddelelse

Når brugeren trykker på en meddelelse, der åbnede appen, skal du sende vedkommende til den rigtige skærm.

FirebaseMessaging.onMessageOpenedApp.listen((message) {
  final route = message.data['route'];
  if (route != null) navigator.pushNamed(route);
});

Abonnementer på emner

Tilmeld enheder til emner, så du kan sende til grupper uden at administrere individuelle tokens.

await messaging.subscribeToTopic('news');
await messaging.unsubscribeFromTopic('news');

Lokale meddelelser til visning

Kombiner FCM med flutter_local_notifications for at vise avancerede meddelelser, mens appen er i forgrunden.

final plugin = FlutterLocalNotificationsPlugin();
await plugin.show(0, 'Title', 'Body', notificationDetails);

Hurtigt tjek

Hvad er korrekt om en meddelelse, der modtages, mens appen er i forgrunden?

Opsummering

Du har lært om Firebase Cloud Messaging:

  • Tilladelser og enhedstokens
  • Håndtering i forgrunden, baggrunden og ved afslutning
  • Videresendelse ved tryk på meddelelser og emner
  • Kombination med lokale meddelelser

Nu kan din app engagere brugerne igen med rettidige pushmeddelelser.

Gratis at komme i gang

Lær Dart med en AI-underviser — gratis

Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.

Kurser
22
Lektioner
88

Ofte stillede spørgsmål

Er lektionen “Firebase Cloud Messaging og notifikationer” gratis?

Ja — alle 3 lektioner i læringssporet Mobiludvikling med Flutter, inklusive “Firebase Cloud Messaging og notifikationer”, kan læses gratis i deres fulde længde her på webstedet. Derefter låser CoddyKit PRO alle lektioner op samt interaktive øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Mobiludvikling med Flutter-kurset indeholder 4 lektioner i alt.

Hvad lærer jeg i “Firebase Cloud Messaging og notifikationer”?

Send og modtag push-notifikationer i Deres Flutter-app med Firebase Cloud Messaging, og håndter tilstande i forgrunden, baggrunden og efter tryk. Du øver dig i Mobiludvikling med Flutter med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.

Skal jeg have erfaring for at begynde på Mobiludvikling med Flutter?

Der kræves ingen tidligere erfaring. Mobiludvikling med Flutter på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 4 af 4.

Hvor lang tid tager lektionen “Firebase Cloud Messaging og notifikationer”?

De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.

Kan jeg skrive og køre kode i denne Mobiludvikling med Flutter-lektion?

Ja. Alle Mobiludvikling med Flutter-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.

Alle lektioner i dette kursus

  1. Opsætning af Firebase og godkendelse
  2. Cloud Firestore-database
  3. Cloud Storage og Functions
  4. Firebase Cloud Messaging og notifikationer
← Tilbage til Mobiludvikling med Flutter