Notification Action i mobilappar: vad det är, typer och konfiguration

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

Notification Action — interaktiva knappar och inmatningsfält som visas direkt i push-aviseringen och låter användaren utföra en åtgärd utan att öppna appen. Detta är en nyckeldel av användarupplevelsen som förkortar vägen till målskärmen. Enligt Android Developers, 2025 ökar Notification Action användarengagemanget med upp till 40% genom att minska friktionen vid interaktion.

Huvudpunkter

  • Notification Action — interaktivt element i push-avisering för snabb uppgiftsutförande.
  • På Android implementeras åtgärder via PendingIntent och NotificationCompat.Action.Builder.
  • På iOS konfigureras åtgärder via UNNotificationAction och UNNotificationCategory.
  • Knappar, textinmatning, markering som ”slutförd” och fördröjda åtgärder stöds.
  • Varje åtgärd måste hanteras i appens callback vid klick.

Vad är Notification Action

Notification Action — är ett interaktivt gränssnittselement som läggs till i en push-avisering för att utföra en specifik åtgärd. Användaren kan svara på ett meddelande, bekräfta en uppgift eller öppna en specifik skärm utan att gå in i appen. Åtgärder visas som knappar under aviseringstexten eller i expanderad vy vid svepning.

Varför är åtgärder i aviseringar nödvändiga

Huvudmålet med Notification Action är att minska antalet steg som användaren behöver för att nå sitt mål. Istället för att öppna appen och navigera till önskad skärm klickar användaren på en enda knapp. Forskning visar att appar med interaktiva aviseringar har 25–40% högre engagemangsnivå jämfört med vanliga aviseringar.

Visuell representation på olika plattformar

På Android visas Notification Action som ikon-knappar i kompakt vy och som textknappar i expanderat läge. På iOS visas åtgärder vid lång tryckning på aviseringen eller vid svepning åt vänster. Varje plattform har sina egna rekommendationer för antalet åtgärder — Android rekommenderar högst 3, iOS högst 4.

PlattformMax. åtgärderVisningssättTyper av åtgärder
Android3Ikoner + textKnappar, textinmatning
iOS4Lång tryckning / svepningKnappar, textinmatning

Notification Action på Android

Android skapas Notification Action via NotificationCompat.Builder med metoden addAction(). Varje åtgärd innehåller en ikon, text och en PendingIntent som utlöses vid klick. Från och med Android 7.0 (API 24) stöds direkt textinmatning via RemoteInput.

Skapa en grundläggande åtgärd

För att skapa en knapp i en avisering måste en PendingIntent definieras som startas vid klick. PendingIntent kan öppna en Activity, starta en Service eller BroadcastReceiver. Åtgärdsikonen måste vara monokrom och följa Material Design.

kotlin
val acceptIntent = Intent(context, AcceptActionReceiver::class.java)
acceptIntent.putExtra("notification_id", notificationId)

val acceptPendingIntent = PendingIntent.getBroadcast(
    context, requestCode,
    acceptIntent, PendingIntent.FLAG_UPDATE_CURRENT
)

val notification = NotificationCompat.Builder(context, CHANNEL_ID)
    .setSmallIcon(R.drawable.ic_notification)
    .setContentTitle("Bekräftelseförfrågan")
    .setContentText("Bekräfta utförandet av uppgiften")
    .addAction(R.drawable.ic_accept, "Bekräfta", acceptPendingIntent)
    .build()

Åtgärd med textinmatning (RemoteInput)

För scenarier som kräver textinmatning (till exempel svar på ett meddelande) tillhandahåller Android RemoteInput. Användaren anger text direkt i aviseringen och appen tar emot den utan att öppna Activity. RemoteInput stöds på Android 7.0+ och kräver explicit hantering i BroadcastReceiver eller Service.

kotlin
val remoteInput = RemoteInput.Builder("reply_input")
    .setLabel("Ange svar")
    .build()

val replyAction = NotificationCompat.Action.Builder(
    R.drawable.ic_reply, "Svara", replyPendingIntent
)
    .addRemoteInput(remoteInput)
    .build()

val notification = NotificationCompat.Builder(context, CHANNEL_ID)
    .addAction(replyAction)
    .build()

Hantera åtgärder på Android

När en åtgärd klickas startar systemet den angivna PendingIntent. För att hämta den inmatade texten från RemoteInput, anropa RemoteInput.getResultsFromIntent(intent). Det rekommenderas att hantera åtgärder i IntentService eller WorkManager för att inte blockera UI-tråden.

Notification Action på iOS

iOS implementeras Notification Action via UserNotifications-ramverket. Utvecklaren skapar åtgärdskategorier (UNNotificationCategory) och registrerar dem vid appstart. Varje åtgärd definieras av ett UNNotificationAction-objekt med en unik identifierare.

Konfigurera kategorier och åtgärder på iOS

För att lägga till åtgärder i push-aviseringar på iOS måste en kategori skapas som grupperar relaterade åtgärder. Kategorin anges i aviseringens nyttolast via fältet category. När aviseringen tas emot visar systemet tillgängliga åtgärder från den angivna kategorin.

swift
import UserNotifications

class NotificationSetup {

    func registerNotificationCategories() {
        let approveAction = UNNotificationAction(
            identifier: "APPROVE_ACTION",
            title: "Bekräfta",
            options: [.foreground]
        )

        let declineAction = UNNotificationAction(
            identifier: "DECLINE_ACTION",
            title: "Avvisa",
            options: [.destructive]
        )

        let category = UNNotificationCategory(
            identifier: "REQUEST_CATEGORY",
            actions: [approveAction, declineAction],
            intentIdentifiers: [],
            options: []
        )

        UNUserNotificationCenter.current()
            .setNotificationCategories([category])
    }
}

Hantera åtgärder på iOS

När användaren klickar på en åtgärd anropar systemet metoden userNotificationCenter:didReceiveNotificationResponse i delegaten för UNUserNotificationCenter. response.actionIdentifier innehåller identifieraren för den utförda åtgärden. För textinmatning används UNTextInputNotificationAction som tillhandahåller texten som användaren har angett.

swift
extension AppDelegate: UNUserNotificationCenterDelegate {

    func userNotificationCenter(
        center: UNUserNotificationCenter,
        didReceive response: UNNotificationResponse,
        withCompletionHandler completionHandler: @escaping () -> Void
    ) {
        switch response.actionIdentifier {
        case "APPROVE_ACTION":
            Log.d("Action: approved")
        case "DECLINE_ACTION":
            Log.d("Action: declined")
        case UNNotificationDefaultActionIdentifier:
            Log.d("Action: opened app")
        default:
            break
        }
        completionHandler()
    }
}

Typer och scenarier för Notification Action

Notification Action klassificeras efter interaktionstyp och användningsscenario. Rätt val av åtgärdstyp påverkar direkt användarupplevelsen och konverteringen till målåtgärden.

Knappar som startar appen

Den vanligaste typen — en knapp som öppnar appen på en specifik skärm. På Android används PendingIntent.getActivity(), på iOS — alternativet .foreground för UNNotificationAction. Tillämpas för åtgärder som kräver fullständigt gränssnitt, till exempel visning av orderdetaljer.

Bakgrundsåtgärder

Åtgärder som utförs utan att öppna appen. På Android används PendingIntent.getBroadcast() eller PendingIntent.getService(). På iOS — alternativet .authenticationRequired eller utan .foreground. Exempel: markera en uppgift som slutförd, gilla ett inlägg, lägg till i favoriter.

Textinmatning

Låter användaren ange text direkt i aviseringen. På Android implementeras via RemoteInput, på iOS via UNTextInputNotificationAction. Används för svar på meddelanden, kommentarer, inmatning av engångsbekräftelsekoder.

Destruktiva åtgärder

Åtgärder som oåterkalleligen ändrar data — borttagning, avvisning, blockering. På Android markeras de visuellt (röd färg i vissa system), på iOS kräver de alternativet .destructive. Det rekommenderas att begära bekräftelse för destruktiva åtgärder, till exempel via en extra dialogruta eller ett andra klick.

Inmatningsåtgärder med textinmatning

En separat klass av åtgärder — textinmatning direkt från aviseringen. På Android implementeras via RemoteInput i kombination med PendingIntent. På iOS används UNTextInputNotificationAction som ärver från UNNotificationAction. Sådana åtgärder används för snabba svar i meddelandeprogram, inmatning av kampanjkoder, ifyllning av feedbackformulär eller utvärdering av servicekvalitet. Den inmatade texten skickas till appen tillsammans med åtgärdsidentifieraren. För korrekt hantering av textinmatning på båda plattformarna måste tolkning av inmatade data och validering implementeras innan målåtgärden utförs.

Hantering av klick och loggning

Korrekt hantering av Notification Action är avgörande för analys och användarupplevelse. Varje klick måste loggas och åtgärden måste utföras tillförlitligt, även om appen var stängd.

Analys och spårning

Spåra varje klick på Notification Action via analyssystemet. Firebase Analytics, Mixpanel eller Yandex.Metrica gör det möjligt att registrera åtgärdsidentifieraren, klicktiden och aviseringskontexten. Dessa data hjälper till att optimera aviseringsstrategin och öka engagemanget. A/B-testning med olika åtgärdsuppsättningar hjälper till att bestämma de mest effektiva interaktionsscenarierna med användaren.

Tillförlitlig hantering vid stängd app

Om appen är stängd skickar systemet ändå Intent eller UNNotificationResponse vid klick på en åtgärd. På Android använder du BroadcastReceiver för garanterad hantering. På iOS startar systemet appen i bakgrunden och skickar svaret till delegaten. För kritiska åtgärder (betalningsbekräftelse, auktorisering) lägger du till en mekanism för återförsök och ett meddelande till användaren om lyckad utförande.

Visuell anpassning av knappar på Android

Från och med Android 7.0 kan utvecklaren påverka visningen av Notification Action via ikoner och färger. Ikoner måste vara monokroma (alfakanal), med storleken 24x24 dp. På iOS är anpassningen av knappar begränsad — systemfärger och teckensnitt används. Material Design rekommenderar att gruppera åtgärder efter prioritet: den viktigaste åtgärden först, destruktiva sist.

Vanliga frågor

Hur många åtgärder kan läggas till i en avisering?

På Android rekommenderas högst 3 åtgärder, på iOS upp till 4. Att överskrida gränsen leder till att vissa åtgärder inte visas eller göms i undermenyn.

Hur lägger man till en ikon för Notification Action på Android?

Ikonen skickas till NotificationCompat.Action.Builder som en drawable-resurs. Ikonen måste vara monokrom (alfakanal), med storleken 24x24 dp och följa Material Designs riktlinjer.

Fungerar Notification Action på låst skärm?

Ja, om aviseringen visas på låst skärm och visibility-flaggan är inställd på VISIBILITY_PUBLIC. På iOS krävs alternativet .authenticationRequired för åtgärder som kräver auktorisering.

Hur hanterar man ett klick på en åtgärd om appen har tagits bort från minnet?

På Android återskapar systemet processen och levererar Intent. På iOS startar systemet appen i bakgrunden. Leverans kan garanteras med BroadcastReceiver på Android och UNNotificationServiceExtension på iOS.

Vad är skillnaden mellan åtgärder på Android och iOS ur användarupplevelsens perspektiv?

På Android syns åtgärder omedelbart under aviseringen som ikoner. På iOS är åtgärder dolda bakom lång tryckning eller svepning. UX-design av aviseringar måste ta hänsyn till dessa plattformsskillnader.

Sammanfattning

  • Notification Action — knappar och inmatningsfält i push-aviseringar för snabb interaktion.
  • På Android skapas åtgärder via NotificationCompat.Action med PendingIntent.
  • På iOS definieras åtgärder via UNNotificationAction med kategoriregistrering.
  • Textinmatning implementeras via RemoteInput (Android) eller UNTextInputNotificationAction (iOS).
  • Maximalt antal åtgärder — 3 för Android, 4 för iOS.
  • Varje åtgärd bör loggas i analyssystemet för optimering av aviseringar.
  • För tillförlitlig hantering, använd BroadcastReceiver på Android och AppDelegate på iOS.

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å