Silent Push — essentie, achtergrondtaken en leveringsconfiguratie

Auteur: IT Sectr Gepubliceerd: 2026-03-20 Leestijd: 9 min

Silent Push is een type iOS pushmelding dat op het apparaat wordt afgeleverd zonder enige weergave aan de gebruiker en zonder geluidsbegeleiding. Het belangrijkste doel van een stille melding is achtergrondsynchronisatie van gegevens, het bijwerken van inhoud en het uitvoeren van korte taken die geen aandacht van de gebruiker vereisen. Volgens Apple Developer Documentation, 2026, activeert Silent Push de app gedurende 30 seconden op de achtergrond om binnenkomende gegevens te verwerken, waarna het systeem het apparaat terug in slaapstand zet om batterij te sparen.

Belangrijkste punten

  • Achtergrondactivering — Silent Push wekt de app op de achtergrond gedurende 30 seconden om gegevens te verwerken zonder tussenkomst van de gebruiker.
  • Content-available sleutel — een verplichte vlag in de APNS-payload met waarde 1, die een stille melding onderscheidt van een gewone.
  • Batterijbesparing — het systeem optimaliseert de levering van silent push: bij lage batterij of in energiebesparende modus kan de levering worden uitgesteld of geannuleerd.
  • Frequentiebeperkingen — iOS garandeert niet de levering van elke silent push, vooral bij hoge verzendfrequentie of in de achtergrondmodus van de app.
  • Geen UI — de stille melding wordt niet weergegeven in het Notification Center, speelt geen geluid af en verhoogt de badge op het app-pictogram niet.

Wat is Silent Push — essentie en doel

Silent Push (stille pushmelding) is een iOS-mechanisme dat gegevens op het apparaat aflevert zonder enige visuele melding aan de gebruiker. In tegenstelling tot de standaard push, die een banner weergeeft, geluid afspeelt en in het Notification Center terechtkomt, ‘wekt’ silent push de app op de achtergrond en stuurt er gegevens naartoe voor verwerking. De gebruiker komt nooit te weten over de levering van zo’n melding — het resultaat is bijgewerkte inhoud bij de volgende opening.

Verschil met gewone pushmeldingen

Het belangrijkste verschil zit in de JSON-payload: silent push bevat de vlag content-available: 1 en bevat GEEN alert, sound of badge. De standaardmelding met alert wordt altijd aan de gebruiker getoond, ongeacht content-available. Silent push werkt alleen met content-available: 1 en zonder alert — als er alert wordt toegevoegd, toont het systeem de melding zelfs met de achtergrondleveringsvlag.

Wanneer Silent Push gebruiken

Stille meldingen zijn onmisbaar voor scenario’s waarin gegevens vers moeten zijn op het moment dat de app wordt geopend, maar de gebruiker niet mag worden afgeleid. Voorbeelden: het bijwerken van de nieuwsfeed op de achtergrond, het synchroniseren van abonnementen, het downloaden van nieuwe inhoud voor offline toegang, het bijwerken van widgets, het ongeldig maken van de cache. Silent Push wordt ook gebruikt voor het ‘opwarmen’ van de app vóór een verwachte actie van de gebruiker.

Hoe werkt de levering van stille meldingen

De levering van Silent Push verschilt aanzienlijk van gewone meldingen en is onderworpen aan regels voor energieoptimalisatie. Het iOS-systeem ontvangt het push-verzoek van APNS, stelt vast dat het een silent push is (content-available: 1) en neemt een beslissing over de levering op basis van meerdere factoren: het batterijniveau, de energiebesparende modus, de frequentie van eerdere silent pushes, de activiteit van de app en de huidige CPU-belasting.

De rol van Power Nap en achtergrondmodi

Op apparaten met een Apple M-chip en iOS 15+ integreert silent push met het Power Nap-mechanisme, dat het apparaat periodiek wekt voor achtergrondtaken. Power Nap consolideert meerdere silent pushes in één activiteitsperiode, wat het totale energieverbruik vermindert. De ontwikkelaar kan Power Nap niet rechtstreeks beheren — het systeem neemt automatisch een beslissing op basis van het gedrag van de gebruiker en de gebruiksgeschiedenis van de app.

Verwerkingsvenster van 30 seconden

Wanneer het systeem een silent push aflevert, ontvangt de app de aanroep application(_:didReceiveRemoteNotification:fetchCompletionHandler:) in de AppDelegate. De ontwikkelaar is verplicht om de completion handler binnen 30 seconden aan te roepen met het juiste resultaat (UIBackgroundFetchResult). Als de verwerking niet op tijd is voltooid, kan het systeem de frequentie van silent pushes voor deze app beperken of de levering ervan helemaal stoppen.

swift
// Silent Push verwerken in AppDelegate
func application(
    _ application: UIApplication,
    didReceiveRemoteNotification userInfo: [AnyHashable: Any],
    fetchCompletionHandler completionHandler:
    @escaping (UIBackgroundFetchResult) -> Void
) {
    guard let type = userInfo["sync-type"] as? String
    else {
        completionHandler(.failed)
        return
    }

    if type == "news-feed" {
        NewsFeedSyncService().sync { success in
            completionHandler(success ? .newData : .failed)
        }
    } else if type == "cache-invalidate" {
        CacheManager.shared.invalidateAll()
        completionHandler(.newData)
    } else {
        completionHandler(.noData)
    }
}

Intervallen tussen leveringen

Apple publiceert geen exacte intervallen tussen silent pushes, maar op basis van tests en documentatie wordt aanbevolen om niet meer dan 2–3 stille meldingen per uur per apparaat te verzenden. Bij frequentere verzending begint het systeem silent pushes te negeren en worden gegevens niet meer afgeleverd. Als vaker synchroniseren nodig is, overweeg dan het gebruik van URLSession met achtergrondconfiguratie of VoIP push.

Gebruiksscenario’s voor Silent Push

Silent Push wordt toegepast in een breed scala aan taken waarbij gegevens actueel moeten zijn zonder actieve betrokkenheid van de gebruiker. Laten we de meest effectieve gebruiksscenario’s van dit mechanisme in echte iOS-apps bekijken.

Inhoud bijwerken voor offline toegang

Nieuwsapps, lezers en reisapps gebruiken Silent Push om nieuwe inhoud op de achtergrond te downloaden. Wanneer de gebruiker de app opent, zijn de gegevens al gedownload en beschikbaar, zelfs zonder internet. Deze aanpak verbetert de gebruikerservaring drastisch — lege laadschermen verdwijnen en inhoud wordt onmiddellijk weergegeven. De server stuurt een silent push wanneer er nieuwe artikelen verschijnen, en de app downloadt ze op de achtergrond voor offline lezen.

Synchronisatie van widgetstatus

iOS WidgetKit werkt widgets bij volgens een schema, maar voor onmiddellijke bijwerking na wijziging van gegevens op de server wordt Silent Push gebruikt. De app op de achtergrond verwerkt de silent push, werkt de lokale gegevensopslag voor widgets bij en forceert de update van de timeline via WidgetCenter. De gebruiker ziet actuele informatie op de widget zonder de app te openen — wisselkoers, weersverwachting, leveringsstatus.

Cache ongeldig maken en verouderde gegevens opschonen

Wanneer de server kritieke gegevens bijwerkt (bijvoorbeeld tariferingsregels, de lijst met beschikbare functies voor premiumgebruikers), maakt Silent Push het mogelijk om de lokale cache onmiddellijk ongeldig te maken. Bij de volgende opening laadt de app verse gegevens van de server in plaats van de verouderde cache te gebruiken. Dit is vooral relevant voor apps met betaalde inhoud of abonnementen.

Badge bijwerken zonder zichtbare melding

In sommige scenario’s moet de badge op het app-pictogram worden bijgewerkt zonder een melding weer te geven. Silent Push met het badge-veld in de payload maakt het mogelijk om de tellerwaarde in te stellen zonder de gebruiker met een banner te storen. Een chatapp kan bijvoorbeeld de badge bijwerken met het aantal ongelezen berichten zonder elk nieuw bericht als melding te tonen als de gebruiker zich in de app bevindt.

Silent push configuratie: payload en capabilities

Voor de correcte werking van Silent Push is configuratie op drie niveaus vereist: het Xcode-project, de JSON-payload op de server en de verwerkingscode in de app. Elk niveau is cruciaal: het overslaan van een stap leidt ertoe dat de melding als gewoon wordt afgeleverd of helemaal niet wordt afgeleverd.

Capabilities configureren in Xcode

In Xcode moet u de capability Push Notifications en Background Modes met de optie Remote notifications inschakelen. Push Notifications genereert een certificaat voor APNS, en Remote notifications in Background Modes staat het systeem toe de app te wekken bij ontvangst van een silent push. Zonder Remote notifications wordt de silent push wel afgeleverd, maar wordt de app niet op de achtergrond geactiveerd en worden gegevens niet verwerkt.

Structuur van de JSON-payload

De Silent Push-payload moet de sleutel aps bevatten met content-available: 1 en GEEN alert, sound of badge bevatten. Aangepaste velden worden op hetzelfde niveau als aps doorgegeven en bevatten gegevens voor verwerking: het type bewerking, objectidentificaties, metadata. Een payload zonder content-available wordt als gewone melding verwerkt; met alert — als gewone, zelfs met content-available.

json
{
    "aps": {
        "content-available": 1
    },
    "sync-type": "news-feed",
    "last-article-id": "article_8521",
    "priority": "high"
}

Verwerking aan de clientzijde

Bij ontvangst van een silent push roept iOS application(_:didReceiveRemoteNotification:fetchCompletionHandler:) aan voordat de app zichtbaar wordt. In deze methode moet u userInfo analyseren, het nodige werk verrichten (netwerkverzoeken, schrijven naar Core Data, cache bijwerken) en verplicht binnen 30 seconden completionHandler met het juiste resultaat aanroepen. Het niet aanroepen van completionHandler wordt door het systeem als een fout beschouwd en beïnvloedt de frequentie van toekomstige silent pushes.

Beperkingen en beste praktijken

Silent Push is geen betrouwbaar kanaal voor gegevenslevering voor kritieke bewerkingen — het is een optimalisatiemechanisme, geen gegarandeerde synchronisatie. De ontwikkelaar moet de beperkingen begrijpen en het systeem zo ontwerpen dat de app correct werkt zowel met als zonder silent push.

Beperkingen van levering

iOS garandeert niet de levering van elke silent push. Het systeem kan de levering uitstellen of annuleren bij een laag batterijniveau (onder 20%), in de Low Power Mode, bij een hoge frequentie van eerdere silent pushes, en ook als de app lange tijd niet door de gebruiker is gebruikt. Gemiddelde leveringsstatistiek volgens Apple: ongeveer 70–80% van de silent pushes wordt binnen 5 minuten afgeleverd, de rest kan worden uitgesteld of verloren gaan.

Aanbevelingen van Apple voor silent push

Apple raadt aan om een aantal regels te volgen voor effectief gebruik van silent push. Verzend niet meer dan 2–3 silent pushes per uur per apparaat — overschrijding van de limiet leidt tot blokkering. Gebruik compact payload: minimale payloadgrootte versnelt de verwerking en vermindert de netwerkbelasting. Roep completionHandler altijd en zo snel mogelijk aan: hoe langer de verwerking duurt, hoe groter de kans dat het systeem silent pushes in de toekomst beperkt.

Alternatieven voor Silent Push

Voor scenario’s die gegarandeerde levering of meer verwerkingstijd vereisen, overweeg alternatieven. VoIP push (PushKit) garandeert levering en geeft meer tijd, maar is alleen bedoeld voor VoIP-apps. Background fetch (UIApplication background fetch) wordt door het systeem volgens een schema gestart, maar kan niet door de server worden geïnitieerd. WebSocket onderhoudt een permanente verbinding, maar verbruikt meer batterij en is niet geschikt voor alle soorten apps.

Monitoring en debugging

Gebruik voor het debuggen van Silent Push de Console.app op Mac met een filter op de app-naam. Het systeem logt elke silent push met de aanduiding ‘achtergrondtaak’ en geeft aan of de verwerking succesvol was. Op het apparaat wordt de controle uitgevoerd via Instellingen → Ontwikkelaar → Achtergrondmodi loggen. De serverzijde wordt gevolgd via APNS Feedback Service voor het detecteren van niet-afgeleverde meldingen.

Veelgestelde vragen

Wat is het verschil tussen Silent Push en een gewone pushmelding?

Silent Push wordt niet aan de gebruiker getoond, speelt geen geluid af en komt niet in het Notification Center. Zijn taak is het activeren van de app op de achtergrond voor gegevenssynchronisatie. Gewone push toont altijd een banner en kan geluid en badge bevatten.

Hoeveel tijd is er voor de verwerking van Silent Push?

De app krijgt 30 seconden voor het uitvoeren van de achtergrondtaak. Na het aanroepen van completionHandler brengt het systeem het apparaat terug in slaapstand. Als u completionHandler niet op tijd aanroept, kan het systeem stoppen met het leveren van silent pushes aan deze app.

Waarom kan Silent Push het apparaat niet bereiken?

Het systeem kan de levering uitstellen bij een laag batterijniveau, in de energiebesparende modus, bij frequente verzending van silent pushes of als de app lange tijd niet is gebruikt. Dit is normaal gedrag van iOS, niet gerelateerd aan implementatiefouten.

Kan Silent Push samen met een gewone melding worden verzonden?

Ja, u kunt content-available: 1 samen met alert opgeven — in dit geval wordt de melding aan de gebruiker getoond en ontvangt de app extra achtergrondactivering. Maar als de taak alleen achtergrondsynchronisatie zonder weergave is, mag alert niet worden opgegeven.

Hoe controleer ik of Silent Push correct wordt verwerkt?

Gebruik Console.app op Mac om de logs van achtergrondtaken te bekijken. Stuur een test-silent push via APNS en controleer of didReceiveRemoteNotification wordt aangeroepen met de juiste completionHandler. Gebruik in Xcode de simulator met imitatie van de achtergrondmodus.

Samenvatting

  • Silent Push — iOS-achtergrondsynchronisatiemechanisme dat gegevens aflevert zonder weergave aan de gebruiker, waarbij de app gedurende 30 seconden wordt geactiveerd.
  • Sleutel content-available: 1 — verplichte vlag in de APNS-payload die de stille melding onderscheidt van de gewone; alert, sound en badge mogen niet aanwezig zijn.
  • Levering niet gegarandeerd — iOS optimaliseert de levering van silent push op basis van batterijniveau, frequentie en app-activiteit; werkelijke levering is 70–80%.
  • Gebruiksscenario’s — achtergronddownload van inhoud, widget-update, cache ongeldig maken, abonnementssynchronisatie, badge-update.
  • Frequentiebeperking — niet meer dan 2–3 silent pushes per uur per apparaat; overschrijding leidt tot blokkering van levering door het systeem.
  • iOS kan Silent Push uitstellen of annuleren bij laag batterijniveau, in de Low Power Mode of bij langdurige afwezigheid van gebruiksactiviteit.
  • Silent Push — een effectief hulpmiddel voor het optimaliseren van de gebruikerservaring, maar mag niet worden gebruikt voor kritieke of gegarandeerde meldingen.

We ontwikkelen een mobiele applicatie turnkey

IT Sectr creëert sinds 2017 iOS- en Android-applicaties voor startups en bedrijven. We adviseren u en stellen de beste oplossing voor.

Bespreek het project

Lees ook