App Clip: ключові поняття, легка версія iOS застосунку

Автор: IT Sectr Опубліковано: 2026-02-14 Час читання: 12 хв

App Clip — легка версія iOS застосунку, яка запускається миттєво без встановлення на пристрій. Представлена в iOS 14, технологія дозволяє користувачеві отримати доступ до конкретної функції застосунку через сканування NFC-мітки, QR-коду або App Clip Code. Розмір App Clip не перевищує 10 МБ, а запуск займає менше двох секунд. Це рішення Apple для миттєвої взаємодії з нативним застосунком без необхідності його повноцінного встановлення.

Ключові висновки

  • Миттєвий запуск — App Clip відкривається за 1–2 секунди після сканування NFC, QR або App Clip Code
  • Обмеження розміру — бінарний файл App Clip не може перевищувати 10 МБ у стисненому вигляді
  • App Clip Code — власний візуальний код Apple із вбудованою NFC-міткою та URL-посиланням
  • Спільна кодова база — App Clip і основний застосунок використовують один Xcode-проєкт із мінімальним додатковим налаштуванням
  • Одне завдання — App Clip виконує одну дію (замовлення, оплата, бронювання) та пропонує встановити повну версію

Що таке App Clip?

App Clip — технологія Apple для iOS, яка дозволяє запускати невелику частину повноцінного застосунку без його встановлення. Коли користувач сканує NFC-мітку, QR-код або App Clip Code, операційна система завантажує та відкриває App Clip у вигляді картки поверх поточного екрана. Apple розробила App Clip для сценаріїв “оплатити, замовити або зареєструватися” — дій, які повинні виконуватися без тертя та очікування.

App Clip працює в епізодичному режимі. iOS зберігає дані App Clip обмежений час (зазвичай кілька днів або до явного видалення користувачем). Якщо користувачеві знову потрібна та сама функція, App Clip завантажується повторно. Apple навмисно обмежує збереження App Clip, стимулюючи встановлення повного застосунку для постійного використання. Дані, створені в App Clip, автоматично передаються в повний застосунок при його встановленні через CloudKit.

Реальні приклади: сканування NFC-мітки на столі в ресторані для замовлення та оплати (Panera, Pizza Hut), QR-код на орендованому самокаті для розблокування (Lime, Bird), App Clip Code на паркоматі для оплати (PayByPhone), сканування товару в магазині для покупки (Shopify). Усі ці сценарії об'єднує одне — транзакційне завдання, яке виграє від відсутності етапу встановлення.

Тригери запуску: NFC, QR, App Clip Code

App Clip активується через п'ять механізмів. Найпоширеніші — NFC-мітки (дотик запускає App Clip), QR-коди (сканування камерою показує картку App Clip внизу екрана) та App Clip Codes (фірмові візуальні коди Apple з візерунчастою рамкою та вбудованою NFC-міткою). App Clip також запускається через Safari App Banner і посилання в iMessage.

App Clip Code — запатентована технологія Apple. На відміну від QR-кодів, App Clip Codes виглядають естетично — вони підтримують кольори бренду та логотип у центрі, а URL кодується в звукоподібних хвилях по краях. Код містить вбудовану NFC-мітку, забезпечуючи подвійний механізм запуску: візуальне сканування та дотик. Apple надає інструменти генерації App Clip Code через портал App Store Connect.

swift
// SceneDelegate.swift — обробка запуску App Clip через NSUserActivity
import UIKit

class SceneDelegate: UIResponder, UIWindowSceneDelegate {

    var window: UIWindow?

    func scene(_ scene: UIScene,
                willContinueUserActivityWithType userActivityType: String) {
        // Підготовка до вхідного NSUserActivity
    }

    func scene(_ scene: UIScene,
                continue userActivity: NSUserActivity) {

        guard let invocationURL = userActivity.webpageURL else { return }

        // Парсинг URL і перехід на потрібний екран
        handleInvocationURL(invocationURL)
    }

    private func handleInvocationURL(_ url: URL) {
        // Приклад: /order/restaurantID — екран замовлення
        // Приклад: /pay/parkingID — екран оплати
    }
}

Усі тригери в кінцевому підсумку створюють NSUserActivity з параметром webpageURL, який містить контекст виклику. App Clip парсить цей URL і відображає відповідний екран. App Clip також підтримує геолокаційні тригери — iOS може запропонувати App Clip, коли користувач знаходиться поруч із певним місцем (наприклад, біля кав'ярні з App Clip).

Розробка App Clip на Swift

Розробка App Clip починається з існуючого Xcode-проєкту повноцінного застосунку. Ви додаєте новий target App Clip — він використовує той самий проєкт, ту саму команду та більшу частину спільного коду. Target App Clip включає лише ті файли, сторіборди та ресурси, які потрібні для конкретної функції. Apple надає шаблон App Clip із попередньо налаштованими entitlements та ключами Info.plist.

swift
// AppClip/ProductViewModel.swift — спільна логіка між App Clip і повним застосунком
import Foundation
import StoreKit

class ProductViewModel: ObservableObject {

    @Published var items: [Product] = []
    @Published var total: Decimal = 0

    func checkout() {
        // Відправка замовлення через API
    }

    func showInstallPrompt() {
        // Показ SKOverlay для встановлення повного застосунку
        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 — головний екран App Clip
class MainViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        // Компактний UI для картки App Clip
        // Використання SF Symbols для зниження розміру
        // Завантаження тільки даних для поточної транзакції
    }

    @IBAction func openFullApp(_ sender: Any) {
        // Відкриття сторінки застосунку в App Store
        guard let url = URL(string: "https://apps.apple.com/app/id123456789") else { return }
        UIApplication.shared.open(url)
    }
}

Target App Clip використовує той самий Apple Developer Team ID та Bundle ID, що й основний застосунок (із суфіксом .Clip). Ключові entitlements: com.apple.developer.app-clip та пов'язані домени для обробки URL. App Clip підтримує Apple Pay, Sign in with Apple, StoreKit для покупок і Core Location. Деякі фреймворки недоступні: фонові режими, HealthKit, Media Library та окремі сенсорні API.

Обмеження розміру та оптимізація

Ліміт розміру App Clip суворо контролюється Apple — не більше 10 МБ у стисненому вигляді. Перевірка виконується на етапі завантаження в App Store; збірки, що перевищують ліміт, відхиляються. До розміру входять бінарний код, ресурси (сторіборди, asset catalogs) і пов'язані фреймворки. Бібліотеки Swift runtime входять до складу iOS і не враховуються, однак сторонні фреймворки збільшують розмір.

Метод оптимізаціїЕфектПримітки
Thinning asset catalogs30–60%Один масштаб зображень (3x), виключення невикористовуваних device idioms
SF SymbolsЗначноСистемні іконки безкоштовні — не включайте кастомні
SwiftUI замість UIKit20–30%SwiftUI потребує менше пов'язаних фреймворків
Мінімум залежностейЗміннийПідключайте лише фреймворки, потрібні для функції App Clip
On-demand ресурсиЗміннийЗавантаження некритичних даних (зображення) після запуску
Стрипінг коду10–40%Dead code stripping та whole-module оптимізація в Swift

Xcode надає звіт про розмір App Clip в Organizer після архівації. Звіт розбиває розмір за компонентами (код, ресурси, фреймворки) та показує оціночний розмір завантаження. Apple рекомендує тримати App Clip в межах 8 МБ для врахування варіацій стиснення в різних каналах доставки.

Користувацький сценарій App Clip

Сценарій використання App Clip складається з чотирьох етапів. Виявлення: користувач зустрічає NFC-мітку, QR-код або App Clip Code у фізичному світі. Запуск: сканування або дотик завантажує App Clip (менше 2 секунд, зазвичай 1 секунда). Взаємодія: App Clip відкривається у вигляді картки з єдиною функцією — екран замовлення, оплати або бронювання. Завершення: користувач виконує завдання та бачить пропозицію встановити повний застосунок через SKOverlay або посилання на App Store.

Apple приділяє особливу увагу конфіденційності в App Clip. Система запитує дозволи на камеру, геолокацію та сповіщення окремо для App Clip. Дані, створені в App Clip (платіжна інформація, вподобання), зберігаються локально та передаються в повний застосунок через CloudKit при його встановленні. App Clip не може запитувати чутливі дозволи (Health, Motion, Media Library) — для цього потрібне встановлення повного застосунку.

Важлива особливість — SKOverlay, нативний елемент iOS, який відображається в нижній частині екрана App Clip та пропонує встановити повний застосунок. SKOverlay не вимагає переходу в App Store і працює в контексті поточного застосунку. Користувач може встановити повний застосунок одним дотиком, а App Clip автоматично передає всі створені дані після встановлення.

App Clip проти Android Instant App

ХарактеристикаApp Clip (iOS)Instant App (Android)
Ліміт розміру10 МБ стиснений10 МБ загальний
Методи запускуNFC, QR, App Clip Code, Safari, iMessage, геолокаціяDeep links, Google Play “Спробувати”, NFC, QR
РозробкаXcode + Swift (один target)Android Studio + Kotlin (feature modules)
ПідтримкаiOS 14+ (iPhone, iPod touch)Android 5.0+ (API 21+)
Зберігання данихТимчасове, передається в повний застосунокТимчасове (cookie API), передається
МонетизаціяApple Pay, StoreKitGoogle Pay, Google Play Billing
Візуальний тригерApp Clip Code (власний формат)Стандартні QR-коди

Обидві технології — App Clip та Android Instant App — вирішують одне завдання: миттєвий запуск нативного застосунку без встановлення, але використовують різні платформні підходи. App Clip більш обмежений (тільки iOS, менша екосистема), але пропонує глибоку інтеграцію з Apple Pay та екосистемою пристроїв Apple. Instant Apps виграють за рахунок ширшого охоплення Android та гнучких тригерів, включаючи стандартні QR-коди без додаткової інфраструктури.

Часті запитання

На яких пристроях працюють App Clips?

App Clips потребують iOS 14 або новіше та працюють на iPhone 6s і новіше, iPod touch (7-го покоління) та всіх iPad з чипом A9 або новіше. Сканування App Clip Code доступне через вбудований застосунок Камера. Запуск через NFC-мітки вимагає iPhone XR/XS або новіше (iPhone 7/8 можуть читати NFC, але не запускати App Clip).

Чи можна опублікувати App Clip без основного застосунку?

Ні, App Clip обов'язково повинен бути пов'язаний із повноцінним iOS застосунком в App Store. App Clip не може бути опублікований самостійно. Повний застосунок і App Clip використовують один Apple Developer Team ID і Bundle ID (із суфіксом .Clip). Apple позиціонує App Clip як вхідну точку до повного застосунку, а не як самостійний механізм поширення.

Який розмір повинен бути у App Clip?

Максимальний розмір App Clip — 10 МБ у стисненому вигляді. Apple суворо перевіряє це обмеження при завантаженні в App Store. Рекомендується тримати розмір в межах 8 МБ для врахування відмінностей у стисненні. Використовуйте SF Symbols, SwiftUI та мінімізуйте сторонні залежності для дотримання ліміту.

Чи можуть App Clips надсилати push-сповіщення?

Ні, App Clips не можуть надсилати push-сповіщення. Apple навмисно заблокувала цю можливість для запобігання спаму. Локальні сповіщення дозволені в межах короткого часу життя App Clip. Для сповіщень користувач повинен встановити повний застосунок. Це ключова відмінність від PWA та повноцінних нативних застосунків.

Що відбувається з даними App Clip після використання?

iOS зберігає дані App Clip обмежений час (зазвичай 7–30 днів бездіяльності). Якщо користувач встановлює повний застосунок, дані автоматично передаються через CloudKit. Якщо встановлення не відбувається, iOS видаляє App Clip та його дані. Користувач також може вручну видалити App Clip через Налаштування в розділі “App Clips”.

Скільки часу займає розробка App Clip?

Для простого сценарію (замовлення + оплата) додавання App Clip до існуючого iOS застосунку зазвичай займає 2–4 тижні для одного розробника. App Clip використовує більшу частину кодової бази основного застосунку, тому витрати значно нижчі, ніж створення окремого застосунку з нуля. Основний час йде на оптимізацію розміру та налаштування тригерів.

Які фреймворки доступні в App Clip?

App Clip підтримує Apple Pay, Sign in with Apple, StoreKit, Core Location, MapKit та PushKit (тільки для VoIP). Недоступні HealthKit, ResearchKit, HomeKit, CarPlay, Metal (у повному обсязі), фонові режими (background fetch, location updates) та Media Library. App Clip також не може отримувати доступ до мікрофона та деяких датчиків пристрою.

Коротке резюме

  • App Clip — легка iOS застосунок (до 10 МБ), запусканий без встановлення через NFC, QR або App Clip Code
  • Тригери — NFC-мітки, QR-коди, App Clip Codes, Safari App Banner, посилання iMessage та геолокація
  • Розробка на Swift — App Clip використовує спільний Xcode-проєкт із повним застосунком та окремий target
  • Оптимізація розміру — SF Symbols, SwiftUI, thinning ресурсів та мінімізація залежностей для дотримання ліміту 10 МБ
  • Обмежена функціональність — App Clip виконує одне завдання (оплата, замовлення, бронь), потім пропонує встановити повний застосунок
  • Платформа iOS — технологія доступна на iOS 14+; аналог на Android — Google Play Instant
  • Найкращі сценарії — взаємодія з фізичним світом: ресторани, оренда самокатів, парковка, покупка квитків

Ми розробимо мобільний застосунок під ключ

IT Sectr створює застосунки для iOS та Android для стартапів і бізнесу з 2017 року. Ми проконсультуємо вас і запропонуємо найкраще рішення.

Обговорити проект

Читайте також