Registreren voor pushnotificaties
Vraag toestemming en verkrijg een device token.
Registreren voor pushnotificaties is een gratis Swift Academy-les op CoddyKit. Dit is les 1 van 4. Je kunt 3 lessen uit dit leerpad gratis volledig lezen — daarna ontgrendelt CoddyKit PRO alle lessen, plus praktische oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject Swift Academy. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus Swift Academy bevat in totaal 4 lessen.
Hoe pushberichten van begin tot eind werken
Een pushmelding gaat van je server via Apple Push Notification service (APNs) naar een specifiek apparaat. Het apparaat bewijst zijn identiteit met een apparaattoken dat door APNs is uitgegeven. Hiervoor moet de gebruiker toestemming geven en moet de app zich registreren.
// Flow: App registers -> APNs returns device token ->
// you send token to your server -> server pushes via APNsHet Notification Center
UNUserNotificationCenter is het ene object dat je gebruikt voor alles wat lokaal en op afstand gebeurt: autorisatie aanvragen, de delegaat instellen, lokale meldingen plannen en instellingen lezen. Haal de gedeelde instantie op.
import UserNotifications
let center = UNUserNotificationCenter.current()
// All notification configuration goes through centerAutorisatie aanvragen
Je moet de gebruiker om toestemming vragen voordat je meldingen toont. requestAuthorization(options:) toont het systeemvenster en geeft terug of de gebruiker akkoord is gegaan. Vraag alleen de opties aan die je nodig hebt: .alert, .sound, .badge.
import UserNotifications
func requestAuth() async throws -> Bool {
let center = UNUserNotificationCenter.current()
return try await center.requestAuthorization(
options: [.alert, .sound, .badge])
}Registreren bij APNs
Autorisatie staat los van registratie. Nadat je toestemming hebt gekregen, of tegelijk daarmee, roep je registerForRemoteNotifications() aan op de hoofdactor. Hiermee vraag je APNs om een apparaattoken. Dit moet op de hoofdthread worden uitgevoerd.
import UIKit
@MainActor
func registerForPush() {
UIApplication.shared.registerForRemoteNotifications()
}Het apparaattoken ontvangen
Bij succes wordt de didRegisterForRemoteNotificationsWithDeviceToken van de appdelegaat aangeroepen met een Data-token. Je zet dit om in een hexadecimale tekenreeks en stuurt die naar je server, die hem gebruikt om dit apparaat te bereiken.
import UIKit
func application(
_ app: UIApplication,
didRegisterForRemoteNotificationsWithDeviceToken
deviceToken: Data) {
let token = deviceToken.map {
String(format: "%02x", $0) }.joined()
print("APNs token:", token)
// send token to your backend
}Een registratiefout afhandelen
Registratie kan mislukken — bijvoorbeeld door ontbrekend netwerk, ontbrekende APNs-rechten of uitvoering in een niet-ondersteunde omgeving. Implementeer didFailToRegisterForRemoteNotificationsWithError om de fout te loggen en netjes te herstellen in plaats van te crashen.
import UIKit
func application(
_ app: UIApplication,
didFailToRegisterForRemoteNotificationsWithError
error: Error) {
print("Push registration failed:", error)
}Tokens kunnen veranderen
Een apparaattoken is niet permanent. Het verandert wanneer de gebruiker een reservekopie terugzet, de app opnieuw installeert of naar een nieuw apparaat overstapt. Registreer het token altijd bij elke start en upload het nieuwste token, waarbij je het oude aan de serverzijde vervangt.
// Best practice: register on each launch,
// always upload the freshly received token,
// never cache a token as permanent.
let rule = "re-register every launch"
_ = ruleHuidige instellingen controleren
De gebruiker kan toestemming later intrekken in Instellingen. Vraag voordat je op meldingen vertrouwt met getNotificationSettings de huidige autorisatiestatus op en lees welke functies zijn toegestaan.
import UserNotifications
func currentStatus() async -> UNAuthorizationStatus {
let settings = await UNUserNotificationCenter
.current().notificationSettings()
return settings.authorizationStatus
}Voorlopige autorisatie
Met de optie .provisional kunnen meldingen stil in het Notification Center verschijnen zonder voorafgaand systeemvenster. Dit is handig om gebruikers meldingen te laten uitproberen voordat ze definitief kiezen, met de optie om ze te behouden of uit te schakelen.
import UserNotifications
func requestQuiet() async throws -> Bool {
try await UNUserNotificationCenter.current()
.requestAuthorization(
options: [.alert, .sound, .provisional])
}De vereiste voorziening
Dit werkt allemaal niet zonder de voorziening Push Notifications in je Xcode-doel in te schakelen; daarmee wordt de aps-environment-toestemming toegevoegd. Voor aflevering op de achtergrond schakel je ook de voorziening Background Modes in met Remote notifications.
// Xcode target > Signing & Capabilities:
// + Push Notifications
// + Background Modes > Remote notifications
let caps = "entitlements required"
_ = capsDe registratie opzetten
Een nette opstartvolgorde: vraag autorisatie aan en registreer je, als die is verleend, bij meldingen op afstand op de hoofdactor. Het token komt daarna binnen in de terugbelactie van de delegaat om te worden geüpload.
import UIKit
import UserNotifications
func setupPush() async {
let center = UNUserNotificationCenter.current()
let granted = (try? await center.requestAuthorization(
options: [.alert, .sound, .badge])) ?? false
if granted {
await MainActor.run {
UIApplication.shared.registerForRemoteNotifications()
}
}
}Snelle controle
Haal de relatie tussen autorisatie en registratie terug.
Samenvatting
Je hebt geleerd hoe je je voor pushmeldingen registreert:
- Gebruik
UNUserNotificationCenterom toestemming te vragen voor.alert/.sound/.badge. - Toestemming en registratie staan los van elkaar; roep
registerForRemoteNotifications()aan op de hoofdactor. - Zet de
Data-token om naar hexadecimaal en upload die; registreer je bij elke start opnieuw, omdat tokens veranderen. - Schakel de mogelijkheid Push Notifications in en overweeg voorlopige toestemming met
.provisional.
Leer Swift met een AI-tutor — gratis
Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.
- Cursussen
- 122
- Lessen
- 409
Veelgestelde vragen
Is de les “Registreren voor pushnotificaties” gratis?
Ja — je kunt hier op het web alle 3 lessen van het leerpad Swift Academy, waaronder “Registreren voor pushnotificaties”, gratis volledig lezen. Daarna ontgrendelt CoddyKit PRO alle lessen, plus interactieve oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. De cursus Swift Academy bevat in totaal 4 lessen.
Wat leer ik in “Registreren voor pushnotificaties”?
Vraag toestemming en verkrijg een device token. Je oefent met Swift Academy door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.
Heb ik ervaring nodig om met Swift Academy te beginnen?
Ervaring vooraf is niet nodig. Swift Academy op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 1 van 4.
Hoe lang duurt de les “Registreren voor pushnotificaties”?
De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.
Kan ik code schrijven en uitvoeren in deze les over Swift Academy?
Ja. Elke les over Swift Academy bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.
Alle lessen in deze cursus
- Registreren voor pushnotificaties
- Notificatiepayloads verwerken
- Achtergrondtaken en verversen
- Notificatieacties en -categorieën