App Clip — lichte versie van een iOS-app die direct start zonder installatie op het apparaat. Geïntroduceerd in iOS 14, stelt de technologie de gebruiker in staat toegang te krijgen tot een specifieke functie van de app door het scannen van een NFC-tag, QR-code of App Clip Code. App Clip is niet groter dan 10 MB en het starten duurt minder dan twee seconden. Dit is Apple's oplossing voor directe interactie met een native app zonder volledige installatie.
Belangrijkste punten
App Clip — Apple-technologie voor iOS waarmee een klein deel van een volledige app kan worden uitgevoerd zonder deze te installeren. Wanneer de gebruiker een NFC-tag, QR-code of App Clip Code scant, downloadt en opent het besturingssysteem de App Clip als een kaart boven het huidige scherm. Apple heeft App Clip ontworpen voor scenario's van 'betalen, bestellen of registreren' — acties die zonder wrijving en wachttijd moeten worden uitgevoerd.
App Clip werkt in episodische modus. iOS bewaart App Clip-gegevens voor een beperkte tijd (meestal een paar dagen of tot expliciete verwijdering door de gebruiker). Als de gebruiker dezelfde functie opnieuw nodig heeft, wordt App Clip opnieuw gedownload. Apple beperkt de opslag van App Clip bewust om installatie van de volledige app voor permanent gebruik te stimuleren. Gegevens die in App Clip zijn gemaakt, worden automatisch overgedragen naar de volledige app bij installatie via CloudKit.
Voorbeelden uit de praktijk: scannen van een NFC-tag op een restauranttafel voor bestellen en betalen (Panera, Pizza Hut), QR-code op een gehuurde scooter om te ontgrendelen (Lime, Bird), App Clip Code bij een parkeerautomaat om te betalen (PayByPhone), scannen van een product in de winkel om te kopen (Shopify). Al deze scenario's hebben één ding gemeen — een transactietaak die profiteert van het ontbreken van een installatiefase.
App Clip wordt geactiveerd via vijf mechanismen. De meest voorkomende — NFC-tags (aanraken start App Clip), QR-codes (scannen met de camera toont de App Clip-kaart onderaan het scherm) en App Clip Codes (Apple's eigen visuele codes met een siersrand en ingebouwde NFC-tag). App Clip wordt ook gestart via Safari App Banner en links in iMessage.
App Clip Code — gepatenteerde technologie van Apple. In tegenstelling tot QR-codes zien App Clip Codes er esthetisch uit — ze ondersteunen merk kleuren en een logo in het midden, en de URL wordt gecodeerd in geluidsgolven aan de randen. De code bevat een ingebouwde NFC-tag, die een dubbel startmechanisme biedt: visueel scannen en aanraken. Apple biedt tools voor het genereren van App Clip Codes via de App Store Connect-portal.
// SceneDelegate.swift — afhandeling van App Clip-start via NSUserActivity
import UIKit
class SceneDelegate: UIResponder, UIWindowSceneDelegate {
var window: UIWindow?
func scene(_ scene: UIScene,
willContinueUserActivityWithType userActivityType: String) {
// Voorbereiding op inkomende NSUserActivity
}
func scene(_ scene: UIScene,
continue userActivity: NSUserActivity) {
guard let invocationURL = userActivity.webpageURL else { return }
// URL parseren en naar het juiste scherm navigeren
handleInvocationURL(invocationURL)
}
private func handleInvocationURL(_ url: URL) {
// Voorbeeld: /order/restaurantID — bestelscherm
// Voorbeeld: /pay/parkingID — betalingsscherm
}
}Alle triggers creëren uiteindelijk een NSUserActivity met de parameter webpageURL, die de context van de aanroep bevat. App Clip parseert deze URL en toont het bijbehorende scherm. App Clip ondersteunt ook geolocatietriggers — iOS kan App Clip voorstellen wanneer de gebruiker zich in de buurt van een specifieke locatie bevindt (bijvoorbeeld bij een café met een App Clip).
App Clip ontwikkelen begint met een bestaand Xcode-project van de volledige app. U voegt een nieuw App Clip-target toe — het gebruikt hetzelfde project, hetzelfde team en het grootste deel van de gedeelde code. Het App Clip-target bevat alleen de bestanden, storyboards en bronnen die nodig zijn voor de specifieke functie. Apple biedt een App Clip-sjabloon met vooraf geconfigureerde rechten en Info.plist-sleutels.
// AppClip/ProductViewModel.swift — gedeelde logica tussen App Clip en volledige app
import Foundation
import StoreKit
class ProductViewModel: ObservableObject {
@Published var items: [Product] = []
@Published var total: Decimal = 0
func checkout() {
// Bestelling verzenden via API
}
func showInstallPrompt() {
// SKOverlay tonen voor installatie van de volledige app
guard let scene = UIApplication.shared()
.connectedScenes
.first(where: { $0 is UIWindowScene }) as? UIWindowScene else { return }
let overlay = SKOverlay(configuration: SKOverlay.AppClipConfiguration(
position: .bottom
))
overlay.present(in: scene)
}
}
// AppClip/MainViewController.swift — hoofdscherm van App Clip
class MainViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
// Compacte UI voor de App Clip-kaart
// SF Symbols gebruiken om de grootte te verkleinen
// Alleen gegevens voor de huidige transactie laden
}
@IBAction func openFullApp(_ sender: Any) {
// App-pagina openen in App Store
guard let url = URL(string: "https://apps.apple.com/app/id123456789") else { return }
UIApplication.shared.open(url)
}
}Het App Clip-target gebruikt dezelfde Apple Developer Team ID en Bundle ID als de hoofd-app (met het achtervoegsel .Clip). Belangrijkste rechten: com.apple.developer.app-clip en associated domains voor het verwerken van URL's. App Clip ondersteunt Apple Pay, Sign in with Apple, StoreKit voor aankopen en Core Location. Sommige frameworks zijn niet beschikbaar: achtergrondmodi, HealthKit, Media Library en bepaalde sensor-API's.
De groottebeperking van App Clip wordt strikt gecontroleerd door Apple — niet meer dan 10 MB gecomprimeerd. Controle vindt plaats bij het uploaden naar de App Store; builds die de limiet overschrijden worden afgewezen. De grootte omvat binaire code, bronnen (storyboards, asset catalogs) en gerelateerde frameworks. Swift runtime-bibliotheken maken deel uit van iOS en worden niet meegeteld, maar frameworks van derden vergroten de grootte.
| Optimalisatiemethode | Effect | Opmerkingen |
|---|---|---|
| Thinning asset catalogs | 30–60% | Eén afbeelding schaal (3x), uitsluiten van ongebruikte device idioms |
| SF Symbols | Aanzienlijk | Systeempictogrammen zijn gratis — voeg geen aangepaste toe |
| SwiftUI in plaats van UIKit | 20–30% | SwiftUI vereist minder gerelateerde frameworks |
| Minimale afhankelijkheden | Variabel | Voeg alleen frameworks toe die nodig zijn voor de App Clip-functie |
| On-demand bronnen | Variabel | Niet-kritieke gegevens (afbeeldingen) laden na het starten |
| Code strippen | 10–40% | Dead code stripping en whole-module optimization in Swift |
Xcode biedt een App Clip-grootterapport in de Organizer na archivering. Het rapport splitst de grootte per component (code, bronnen, frameworks) en toont de geschatte downloadgrootte. Apple raadt aan App Clip binnen 8 MB te houden om rekening te houden met variaties in compressie bij verschillende leveringskanalen.
Het gebruiksscenario van App Clip bestaat uit vier fasen. Ontdekking: de gebruiker komt een NFC-tag, QR-code of App Clip Code tegen in de fysieke wereld. Starten: scannen of aanraken downloadt App Clip (minder dan 2 seconden, meestal 1 seconde). Interactie: App Clip opent als een kaart met één functie — bestel-, betaal- of reserveringsscherm. Voltooiing: de gebruiker voert de taak uit en ziet een voorstel om de volledige app te installeren via SKOverlay of een link naar de App Store.
Apple besteedt speciale aandacht aan privacy in App Clip. Het systeem vraagt apart om toestemming voor camera, locatie en meldingen voor App Clip. Gegevens die in App Clip zijn gemaakt (betalingsgegevens, voorkeuren) worden lokaal opgeslagen en overgedragen naar de volledige app via CloudKit bij installatie. App Clip kan geen gevoelige machtigingen aanvragen (Health, Motion, Media Library) — hiervoor is installatie van de volledige app vereist.
Belangrijke functie — SKOverlay, een native iOS-element dat onderaan het App Clip-scherm wordt weergegeven en voorstelt de volledige app te installeren. SKOverlay vereist geen navigatie naar de App Store en werkt in de context van de huidige app. De gebruiker kan de volledige app met één tik installeren en App Clip draagt automatisch alle gemaakte gegevens over na installatie.
| Kenmerk | App Clip (iOS) | Instant App (Android) |
|---|---|---|
| Grootte limiet | 10 MB gecomprimeerd | 10 MB totaal |
| Startmethoden | NFC, QR, App Clip Code, Safari, iMessage, geolocatie | Deep links, Google Play 'Proberen', NFC, QR |
| Ontwikkeling | Xcode + Swift (één target) | Android Studio + Kotlin (feature modules) |
| Ondersteuning | iOS 14+ (iPhone, iPod touch) | Android 5.0+ (API 21+) |
| Gegevensopslag | Tijdelijk, overgedragen naar volledige app | Tijdelijk (cookie API), overgedragen |
| Monetisatie | Apple Pay, StoreKit | Google Pay, Google Play Billing |
| Visuele trigger | App Clip Code (eigen formaat) | Standaard QR-codes |
Beide technologieën — App Clip en Android Instant App — lossen dezelfde taak op: direct starten van een native app zonder installatie, maar gebruiken verschillende platformbenaderingen. App Clip is beperkter (alleen iOS, kleiner ecosysteem), maar biedt diepe integratie met Apple Pay en het Apple-apparaten ecosysteem. Instant Apps winnen door het bredere bereik van Android en flexibele triggers, inclusief standaard QR-codes zonder extra infrastructuur.
Veelgestelde vragen
App Clips vereisen iOS 14 of nieuwer en werken op iPhone 6s en nieuwer, iPod touch (7e generatie) en alle iPads met een A9-chip of nieuwer. Scannen van App Clip Code is beschikbaar via de ingebouwde Camera-app. Starten via NFC-tags vereist iPhone XR/XS of nieuwer (iPhone 7/8 kunnen NFC lezen, maar kunnen geen App Clip starten).
Nee, App Clip moet gekoppeld zijn aan een volledige iOS-app in de App Store. App Clip kan niet zelfstandig worden gepubliceerd. De volledige app en App Clip gebruiken dezelfde Apple Developer Team ID en Bundle ID (met het achtervoegsel .Clip). Apple positioneert App Clip als toegangspunt tot de volledige app, niet als een zelfstandig distributiemechanisme.
De maximale grootte van App Clip is 10 MB gecomprimeerd. Apple controleert deze limiet strikt bij het uploaden naar de App Store. Het wordt aanbevolen de grootte binnen 8 MB te houden om rekening te houden met compressieverschillen. Gebruik SF Symbols, SwiftUI en minimaliseer afhankelijkheden van derden om de limiet te respecteren.
Nee, App Clips kunnen geen pushmeldingen verzenden. Apple heeft deze mogelijkheid bewust geblokkeerd om spam te voorkomen. Lokale meldingen zijn toegestaan binnen de korte levensduur van App Clip. Voor meldingen moet de gebruiker de volledige app installeren. Dit is een belangrijk verschil met PWA's en volledige native apps.
iOS bewaart App Clip-gegevens beperkte tijd (meestal 7–30 dagen inactiviteit). Als de gebruiker de volledige app installeert, worden gegevens automatisch overgedragen via CloudKit. Als installatie uitblijft, verwijdert iOS App Clip en de gegevens. De gebruiker kan App Clip ook handmatig verwijderen via Instellingen in de sectie 'App Clips'.
Voor een eenvoudig scenario (bestellen + betalen) duurt het toevoegen van App Clip aan een bestaande iOS-app meestal 2–4 weken voor één ontwikkelaar. App Clip gebruikt het grootste deel van de codebase van de hoofd-app, dus de kosten zijn aanzienlijk lager dan het helemaal opnieuw maken van een aparte app. De meeste tijd gaat zitten in het optimaliseren van de grootte en het configureren van triggers.
App Clip ondersteunt Apple Pay, Sign in with Apple, StoreKit, Core Location, MapKit en PushKit (alleen voor VoIP). Niet beschikbaar zijn HealthKit, ResearchKit, HomeKit, CarPlay, Metal (volledig), achtergrondmodi (background fetch, location updates) en Media Library. App Clip heeft ook geen toegang tot de microfoon en bepaalde apparaatsensoren.
Korte samenvatting
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.
Lees ook