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.
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.0Anmodning 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.
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
- Opsætning af Firebase og godkendelse
- Cloud Firestore-database
- Cloud Storage og Functions
- Firebase Cloud Messaging og notifikationer