App Clip — odlehčená verze iOS aplikace, která se spouští okamžitě bez instalace na zařízení. Představená v iOS 14, technologie umožňuje uživateli přístup ke konkrétní funkci aplikace skenováním NFC štítku, QR kódu nebo App Clip Code. Velikost App Clip nepřesahuje 10 MB a spuštění trvá méně než dvě sekundy. Toto je řešení Apple pro okamžitou interakci s nativní aplikací bez nutnosti její plné instalace.
Klíčové závěry
App Clip — technologie Apple pro iOS, která umožňuje spuštění malé části plné aplikace bez její instalace. Když uživatel naskenuje NFC štítek, QR kód nebo App Clip Code, operační systém stáhne a otevře App Clip jako kartu nad aktuální obrazovkou. Apple navrhl App Clip pro scénáře „zaplať, objednej nebo se zaregistruj“ — akce, které musí být provedeny bez tření a čekání.
App Clip pracuje v epizodickém režimu. iOS ukládá data App Clip po omezenou dobu (obvykle několik dní nebo do explicitního smazání uživatelem). Pokud uživatel znovu potřebuje stejnou funkci, App Clip se znovu stáhne. Apple záměrně omezuje ukládání App Clip, aby podpořil instalaci plné aplikace pro trvalé používání. Data vytvořená v App Clip jsou automaticky přenesena do plné aplikace při její instalaci prostřednictvím CloudKit.
Reálné příklady: skenování NFC štítku na stole v restauraci pro objednání a zaplacení (Panera, Pizza Hut), QR kód na zapůjčeném koloběžce pro odemknutí (Lime, Bird), App Clip Code na parkovacím automatu pro zaplacení (PayByPhone), skenování produktu v obchodě pro nákup (Shopify). Všechny tyto scénáře spojuje jedna věc — transakční úkol, který těží z absence fáze instalace.
App Clip se aktivuje prostřednictvím pěti mechanismů. Nejběžnější — NFC štítky (dotyk spouští App Clip), QR kódy (skenování kamerou zobrazí kartu App Clip v dolní části obrazovky) a App Clip Codes (vlastní vizuální kódy Apple s vzorovaným rámem a vestavěným NFC štítkem). App Clip se také spouští přes Safari App Banner a odkazy v iMessage.
App Clip Code — patentovaná technologie Apple. Na rozdíl od QR kódů vypadají App Clip Codes esteticky — podporují barvy značky a logo uprostřed, URL je kódován ve zvukových vlnách na okrajích. Kód obsahuje vestavěný NFC štítek, poskytující dvojitý mechanismus spuštění: vizuální skenování a dotyk. Apple poskytuje nástroje pro generování App Clip Code přes portál App Store Connect.
// SceneDelegate.swift — zpracování spuštění App Clip přes NSUserActivity
import UIKit
class SceneDelegate: UIResponder, UIWindowSceneDelegate {
var window: UIWindow?
func scene(_ scene: UIScene,
willContinueUserActivityWithType userActivityType: String) {
// Příprava na příchozí NSUserActivity
}
func scene(_ scene: UIScene,
continue userActivity: NSUserActivity) {
guard let invocationURL = userActivity.webpageURL else { return }
// Parsování URL a přechod na požadovanou obrazovku
handleInvocationURL(invocationURL)
}
private func handleInvocationURL(_ url: URL) {
// Příklad: /order/restaurantID — obrazovka objednávky
// Příklad: /pay/parkingID — obrazovka platby
}
}Všechny spouštěče nakonec vytvářejí NSUserActivity s parametrem webpageURL, který obsahuje kontext volání. App Clip tento URL parsuje a zobrazí odpovídající obrazovku. App Clip také podporuje geolokační spouštěče — iOS může navrhnout App Clip, když je uživatel v blízkosti určitého místa (např. poblíž kavárny s App Clip).
Vývoj App Clip začíná s existujícím Xcode projektem plné aplikace. Přidáte nový target App Clip — používá stejný projekt, stejný tým a většinu sdíleného kódu. Target App Clip zahrnuje pouze soubory, storyboardy a zdroje potřebné pro konkrétní funkci. Apple poskytuje šablonu App Clip s předem nakonfigurovanými oprávněními a klíči Info.plist.
// AppClip/ProductViewModel.swift — sdílená logika mezi App Clip a plnou aplikací
import Foundation
import StoreKit
class ProductViewModel: ObservableObject {
@Published var items: [Product] = []
@Published var total: Decimal = 0
func checkout() {
// Odeslání objednávky přes API
}
func showInstallPrompt() {
// Zobrazení SKOverlay pro instalaci plné aplikace
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 — hlavní obrazovka App Clip
class MainViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
// Kompaktní UI pro kartu App Clip
// Použití SF Symbols pro snížení velikosti
// Načítáme pouze data pro aktuální transakci
}
@IBAction func openFullApp(_ sender: Any) {
// Otevření stránky aplikace v App Store
guard let url = URL(string: "https://apps.apple.com/app/id123456789") else { return }
UIApplication.shared.open(url)
}
}Target App Clip používá stejné Apple Developer Team ID a Bundle ID jako hlavní aplikace (s příponou .Clip). Klíčová oprávnění: com.apple.developer.app-clip a associated domains pro zpracování URL. App Clip podporuje Apple Pay, Sign in with Apple, StoreKit pro nákupy a Core Location. Některé frameworky nejsou k dispozici: režimy na pozadí, HealthKit, Media Library a některá senzorová API.
Omezení velikosti App Clip je přísně kontrolováno Apple — ne více než 10 MB v komprimované podobě. Kontrola probíhá při nahrávání do App Store; sestavení překračující limit jsou zamítnuta. Do velikosti se započítává binární kód, zdroje (storyboardy, asset catalogs) a související frameworky. Knihovny Swift runtime jsou součástí iOS a nepočítají se, ale frameworky třetích stran velikost zvyšují.
| Metoda optimalizace | Efekt | Poznámky |
|---|---|---|
| Thinning asset catalogs | 30–60% | Jedno měřítko obrázků (3x), vyloučení nepoužívaných device idioms |
| SF Symbols | Významný | Systémové ikony jsou zdarma — nezahrnujte vlastní |
| SwiftUI místo UIKit | 20–30% | SwiftUI vyžaduje méně souvisejících frameworků |
| Minimum závislostí | Proměnlivý | Zahrňte pouze frameworky potřebné pro funkci App Clip |
| On-demand zdroje | Proměnlivý | Načítání nekritických dat (obrázků) po spuštění |
| Stripování kódu | 10–40% | Dead code stripping a whole-module optimization ve Swift |
Xcode poskytuje zprávu o velikosti App Clip v Organizer po archivaci. Zpráva rozděluje velikost podle komponent (kód, zdroje, frameworky) a ukazuje odhadovanou velikost stažení. Apple doporučuje udržovat App Clip v rozmezí 8 MB kvůli variacím komprese v různých kanálech doručení.
Scénář použití App Clip se skládá ze čtyř fází. Objevení: uživatel narazí na NFC štítek, QR kód nebo App Clip Code ve fyzickém světě. Spuštění: skenování nebo dotyk stáhne App Clip (méně než 2 sekundy, obvykle 1 sekunda). Interakce: App Clip se otevře jako karta s jedinou funkcí — obrazovka objednávky, platby nebo rezervace. Dokončení: uživatel provede úkol a uvidí nabídku instalace plné aplikace přes SKOverlay nebo odkaz do App Store.
Apple věnuje zvláštní pozornost soukromí v App Clip. Systém žádá o povolení kamery, geolokace a oznámení samostatně pro App Clip. Data vytvořená v App Clip (platební údaje, preference) jsou uložena lokálně a přenesena do plné aplikace přes CloudKit při její instalaci. App Clip nemůže žádat o citlivá povolení (Health, Motion, Media Library) — k tomu je nutná instalace plné aplikace.
Důležitá funkce — SKOverlay, nativní prvek iOS, který se zobrazí v dolní části obrazovky App Clip a nabízí instalaci plné aplikace. SKOverlay nevyžaduje přechod do App Store a funguje v kontextu aktuální aplikace. Uživatel může nainstalovat plnou aplikaci jedním dotykem a App Clip automaticky přenese všechna vytvořená data po instalaci.
| Vlastnost | App Clip (iOS) | Instant App (Android) |
|---|---|---|
| Limit velikosti | 10 MB komprimovaný | 10 MB celkový |
| Způsoby spuštění | NFC, QR, App Clip Code, Safari, iMessage, geolokace | Deep linky, Google Play „Vyzkoušet“, NFC, QR |
| Vývoj | Xcode + Swift (jeden target) | Android Studio + Kotlin (feature modules) |
| Podpora | iOS 14+ (iPhone, iPod touch) | Android 5.0+ (API 21+) |
| Ukládání dat | Dočasné, přenesené do plné aplikace | Dočasné (cookie API), přenesené |
| Monetizace | Apple Pay, StoreKit | Google Pay, Google Play Billing |
| Vizuální spouštěč | App Clip Code (vlastní formát) | Standardní QR kódy |
Obě technologie — App Clip a Android Instant App — řeší stejný úkol: okamžité spuštění nativní aplikace bez instalace, ale používají různé platformové přístupy. App Clip je omezenější (pouze iOS, menší ekosystém), ale nabízí hlubokou integraci s Apple Pay a ekosystémem zařízení Apple. Instant Apps vítězí díky širšímu pokrytí Android a flexibilním spouštěčům, včetně standardních QR kódů bez dodatečné infrastruktury.
Často kladené otázky
App Clips vyžadují iOS 14 nebo novější a fungují na iPhone 6s a novějších, iPod touch (7. generace) a všech iPad s čipem A9 nebo novějším. Skenování App Clip Code je dostupné prostřednictvím vestavěné aplikace Fotoaparát. Spuštění přes NFC štítky vyžaduje iPhone XR/XS nebo novější (iPhone 7/8 umí číst NFC, ale nemohou spustit App Clip).
Ne, App Clip musí být propojen s plnou iOS aplikací v App Store. App Clip nelze publikovat samostatně. Plná aplikace a App Clip používají stejné Apple Developer Team ID a Bundle ID (s příponou .Clip). Apple staví App Clip jako vstupní bod k plné aplikaci, nikoli jako samostatný mechanismus distribuce.
Maximální velikost App Clip je 10 MB v komprimované podobě. Apple toto omezení přísně kontroluje při nahrávání do App Store. Doporučuje se udržovat velikost v rozmezí 8 MB kvůli rozdílům v kompresi. Používejte SF Symbols, SwiftUI a minimalizujte závislosti třetích stran pro dodržení limitu.
Ne, App Clips nemohou odesílat push oznámení. Apple tuto možnost záměrně zablokoval, aby zabránil spamům. Lokální oznámení jsou povolena v rámci krátké životnosti App Clip. Pro oznámení musí uživatel nainstalovat plnou aplikaci. To je klíčový rozdíl od PWA a plných nativních aplikací.
iOS ukládá data App Clip po omezenou dobu (obvykle 7–30 dní nečinnosti). Pokud uživatel nainstaluje plnou aplikaci, data jsou automaticky přenesena přes CloudKit. Pokud k instalaci nedojde, iOS odstraní App Clip a jeho data. Uživatel může také ručně odstranit App Clip přes Nastavení v sekci „App Clips“.
Pro jednoduchý scénář (objednávka + platba) přidání App Clip k existující iOS aplikaci obvykle trvá 2–4 týdny pro jednoho vývojáře. App Clip využívá většinu kódové základny hlavní aplikace, takže náklady jsou výrazně nižší než vytvoření samostatné aplikace od nuly. Hlavní čas je věnován optimalizaci velikosti a konfiguraci spouštěčů.
App Clip podporuje Apple Pay, Sign in with Apple, StoreKit, Core Location, MapKit a PushKit (pouze pro VoIP). Nejsou k dispozici HealthKit, ResearchKit, HomeKit, CarPlay, Metal (v plném rozsahu), režimy na pozadí (background fetch, location updates) a Media Library. App Clip také nemá přístup k mikrofonu a některým senzorům zařízení.
Stručné shrnutí
Vyvineme mobilní aplikaci na klíč
IT Sectr vytváří aplikace pro iOS a Android pro startupy a podniky od roku 2017. Poradíme vám a navrhneme nejlepší řešení.
Přečtěte si také