Push-notiser i mobilutveckling — innebörd, typer och hur de fungerar

Författare: IT Sectr Publicerad: 2026-03-19 Lästid: 8 min

Push-notiser är meddelanden som skickas från servern till en mobil enhet även när appen är stängd. Enligt data från Google Firebase, 2024 bearbetas push-notiser via specialiserade tjänster — FCM på Android och APNS på iOS, som stöder realtidsleverans till miljontals enheter samtidigt. De har blivit en integrerad del av användarupplevelsen i moderna mobilappar.

Huvudpunkter

  • Push-notiser — meddelanden från servern levererade via FCM eller APNS.
  • FCM (Firebase Cloud Messaging) — den huvudsakliga tjänsten för Android med stöd för iOS.
  • APNS (Apple Push Notification Service) — Apples egen tjänst för iOS och macOS.
  • Notistyper delas in i textnotiser, medianotiser och tysta notiser.
  • Enhetstokens — unika identifierare för riktad leverans av push-meddelanden.

Vad är push-notiser?

Push-notiser är korta meddelanden som appservern skickar till användarens enhet utan dennes uttryckliga begäran. De visas som banners, märken på ikonen eller ljudsignaler, drar användarens uppmärksamhet till appen och informerar om viktiga händelser.

Definition och syfte

En push-notis består av en rubrik, meddelandetext och valfria data (payload). Till skillnad från SMS är push-notiser gratis för användaren och levereras via infrastruktur för molntjänster — FCM för Android och APNS för iOS. Huvudsyftena med push-notiser: öka engagemang, informera om händelser och få tillbaka användaren till appen.

Användningsstatistik visar att korrekt konfigurerade push-notiser ökar appens retention med 30-60%. Överdriven frekvens leder dock till avprenumeration — över 60% av användarna stänger av notiser om de skickas mer än tre gånger om dagen.

Arkitektur för push-system

Push-systemet består av tre komponenter: appservern (app server), plattformstjänsten (FCM/APNS) och klientappen på enheten. Servern skickar en begäran till plattformstjänsten, som levererar notisen till målenheten via en permanent anslutning med operativsystemet.

Hur fungerar push-notiser?

Leveransmekanismen för push-notiser baseras på en permanent anslutning mellan enheten och plattformstjänsten. Operativsystemet upprätthåller en krypterad kommunikationskanal genom vilken alla push-meddelanden passerar.

Registrering och erhållande av token

Vid första start begär appen tillstånd att skicka notiser och får en unik enhetstoken från FCM eller APNS. Denna token är en sträng på upp till 4 KB som unikt identifierar appinstansen. Token ändras vid ominstallation av appen eller återställning av enheten från en säkerhetskopia.

kotlin
class FirebaseMessagingService :
    FirebaseMessagingService() {

    override fun onNewToken(token: String) {
        sendTokenToServer(token)
    }

    override fun onMessageReceived(
        message: RemoteMessage
    ) {
        showNotification(message.notification)
    }
}

Sändning via appservern

Appservern skickar en HTTP-begäran till FCM API eller APNS API, med angivelse av måltoken, rubrik, brödtext och ytterligare data. Plattformstjänsten svarar med leveransstatus: success, invalid token (enheten har tagit bort appen) eller rate-limited (sändningsfrekvensen överskriden).

js
fetch("https://fcm.googleapis.com/fcm/send", {
    method: "POST",
    headers: {
        "Authorization": "key=AIzaSy...",
        "Content-Type": "application/json"
    },
    body: JSON.stringify({
        to: "device_token_here",
        notification: {
            title: "skicka token till din egen server",
            body: "Du har ett nytt meddelande!"
        }
    })
})

FCM vs APNS: jämförelse av plattformar

Valet mellan FCM och APNS beror på målplattformen. FCM stöder Android och iOS, APNS — endast Apples ekosystem. Låt oss titta på de viktigaste skillnaderna som är viktiga för utveckling av cross-platform mobilappar.

Firebase Cloud Messaging (FCM)

FCM är Googles tjänst som fungerar ovanpå Google Play Services. Den stöder två leveransscheman: notiser med automatisk visning (display notifications) och datanotiser som appen bearbetar själv. FCM är gratis och har inga begränsningar för antalet skickade meddelanden.

Apple Push Notification Service (APNS)

APNS är Apples tjänst med stöd för multimediabilagor (bilder, video, ljud) upp till 10 MB. För sändning via APNS krävs ett TLS-certifikat eller autentiseringsnyckel. APNS begränsar sändningsfrekvensen till en enhet — inte mer än 150 notiser per minut, varefter rate limiting aktiveras.

EgenskapFCMAPNS
PlattformarAndroid, iOS, WebiOS, macOS, watchOS
KravGoogle Play ServicesApple Developer Program
Mediaupp till 4 KB (data)upp till 10 MB (bilagor)
Prioritetnormal/highimmediate/power-saving
Kostnadgratisgratis (konto krävs)

Typer av push-notiser

Push-notiser klassificeras efter visningssätt och syfte. Att förstå typerna hjälper till att välja rätt strategi för varje interaktionsscenario med användaren.

Textnotiser (Display Notifications)

Den vanligaste typen — visad notis med rubrik och brödtext. Operativsystemet visar den automatiskt i systemfältet, på låsskärmen och som en banner. Utvecklaren kan konfigurera ljud, vibration, ikonmärke och åtgärdsknappar för direkta handlingar (svara, öppna, avvisa).

Datanotiser (Data Notifications)

Datanotiser innehåller endast payload utan visuell visning. Appen bearbetar dem i bakgrunden: synkroniserar data, uppdaterar cache eller startar nedladdning. På Android levereras datanotiser garanterat, på iOS — endast när appen är aktiv eller via background fetch.

Multimedia- och rich-notiser

Moderna mobila operativsystem stöder utökade och medianotiser med bilder, GIF, video och ljud. På iOS implementeras detta via UNNotificationAttachment, på Android — via BigPictureStyle och InboxStyle för anpassning av notisens utseende i systemfältet.

Tysta (Silent) notiser

Tysta notiser visas inte för användaren och används för bakgrundssynkronisering. På iOS har de hög prioritet för uppgifter som att uppdatera data innan appen öppnas. Android behandlar dem som datanotiser med lägsta prioritet.

Konfigurera push-notiser i ett projekt

Konfigurering av push-notiser kräver åtgärder på infrastrukturnivå, serversidan och klientkoden. Låt oss titta på den typiska processen för ett cross-platform mobilprojekt.

Konfigurera FCM för Android

För Android måste du skapa ett projekt i Firebase Console, lägga till google-services.json i projektet och konfigurera FirebaseMessagingService. Enhetstoken erhålls via FirebaseInstanceId eller FirebaseMessaging.getInstance().token, och skickas sedan till servern via API vid första start eller vid ändring.

Konfigurera APNS för iOS

För iOS krävs en prenumeration på Apple Developer Program, skapande av ett push-certifikat eller APNS-nyckel i Developer Portal och aktivering av Capability Push Notifications i Xcode. Registrering för notiser görs via UIApplication.shared.registerForRemoteNotifications med mottagning av deviceToken i AppDelegate.

swift
import UIKit
import UserNotifications

@main
class AppDelegate: UIResponder,
    UIApplicationDelegate {

    func application(
        _ application: UIApplication,
        didRegisterForRemoteNotificationsWithDeviceToken
        deviceToken: Data
    ) {
        let token = deviceToken
            .map { String.format("%02x", $0) }
            .joined()
        // skicka token till din egen server
    }
}

Server-side sändning

På serversidan skickas push-notiser via REST API eller Admin SDK. För FCM används Firebase Admin SDK (tillgänglig för Node.js, Java, Python, Go), för APNS — pusher-bibliotek (pushy för Java, apn2 för Node.js). Det rekommenderas att lagra tokens i databasen med en tidsstämpel för senaste uppdatering.

Säkerhet för push-notiser

Säkerheten för push-notiser är kritisk eftersom konfidentiell data kan överföras via dem. Båda plattformarna erbjuder grundläggande skyddsmekanismer, men utvecklaren måste använda dem korrekt.

Kryptering av payload

Payload i en push-notis kan innehålla personuppgifter om användare: namn, transaktionsbelopp, länkar till meddelanden. Även om kommunikationskanalen mellan FCM/APNS och enheten är krypterad, kan data fångas upp på appnivå vid avlyssning av notisen av tredjepartsprogramvara. Det rekommenderas att kryptera känslig payload på servern med AES-256-algoritmen och dekryptera den på enheten med en nyckel lagrad i Keychain (iOS) eller EncryptedSharedPreferences (Android).

Validering av tokens på servern

Enhetstoken är en sessionidentifierare som kan äventyras vid intrång på enheten eller avlyssning av trafik. Appservern måste kontrollera tokens före sändning: jämföra dem med databasen, spåra inaktiva tokens och ta bort dem vid upprepade InvalidToken-fel. FCM och APNS returnerar status InvalidRegistration för ogiltiga tokens — ignorera inte detta.

Skydd mot notisspam

Utan frekvenskontroll kan push-notiser bli ett spamverktyg som irriterar användare och minskar retention. Sätt gränser på servern: inte mer än 5 notiser per timme till en användare och inte mer än 3 identiska meddelanden. För transaktionsnotiser (orderbekräftelse, lösenordsändring) kan gränserna vara högre — upp till 10 per timme, eftersom de bär kritiskt viktig information. Använd rate limiting på API-nivå för sändning så att en angripare inte kan utlösa massutskick via din server.

Vanliga frågor

Kan man skicka push-notiser utan FCM på Android?

Ja, direktanslutning till APNS stöds inte på Android — för enheter utan Google Play Services används alternativ som Huawei Mobile Services (HMS) och egna WebSocket-anslutningar. FCM förblir dock standard för de flesta appar tack vare sin kostnadsfrihet och tillförlitlighet.

Hur fungerar push-leverans när internet är avstängt?

FCM och APNS sparar den senaste notisen på sina servrar och levererar den när anslutningen återställs. På varje enhet sparas endast den senaste notisen från varje app, så vid långvarig frånvaro av nätverk går mellanliggande meddelanden förlorade.

Varför kommer inte push-notiser fram på iOS?

De vanligaste orsakerna är utgånget push-certifikat APNS (giltigt 1 år), ogiltig enhetstoken, avstängda notiser i inställningar eller aktiverat energisparläge. Kontrollera certifikatet i Apple Developer Console och se till att appen begär tillstånd via UNUserNotificationCenter.

Hur spårar jag att en användare har öppnat en push-notis?

På Android använder du PendingIntent i NotificationCompat.Builder med spårning av öppning via Intent. På iOS — metoden UNUserNotificationCenterDelegate.userNotificationCenter(_:didReceive:withCompletionHandler:). FCM tillhandahåller rapporter om leverans och öppningar för varje skickad notis.

Påverkar push-notiser batteriet?

Marginellt — push-notiser upprätthåller ingen permanent anslutning; operativsystemet använder en gemensam systemkanal för alla appar, vilket minimerar den totala energiförbrukningen. Frekvent sändning (var 5:e minut) förbrukar mer energi för att väcka enheten och lämna viloläge. Tysta notiser på iOS förbrukar mer energi på grund av aktivering av appen i bakgrunden för bearbetning av mottagen data.

Sammanfattning

  • Push-notiser — servermeddelanden till enheten via FCM eller APNS.
  • Enhetstoken — unik identifierare för riktad push-leverans.
  • FCM stöder Android, iOS och Web; APNS — endast Apples ekosystem.
  • Datanotiser bearbetas i bakgrunden utan visning för användaren.
  • Medianotiser på iOS stöder bilagor upp till 10 MB, på Android — via utökade stilar.
  • APNS-certifikat kräver årlig förnyelse i Apple Developer Portal.
  • Rate limiting för FCM och APNS skyddar användare från notisspam genom att begränsa sändningsfrekvensen till varje enhet.

Vi utvecklar en mobil applikation nyckelfärdigt

IT Sectr skapar iOS- och Android-applikationer för startups och företag sedan 2017. Vi ger dig råd och föreslår den bästa lösningen.

Diskutera projektet

Läs också