App Clip — qurilmada o'rnatish talab qilmasdan bir zumda ishga tushadigan iOS ilovasining yengil versiyasi. iOS 14 da taqdim etilgan ushbu texnologiya foydalanuvchiga NFC tegi, QR kodi yoki App Clip Code ni skanerlash orqali ilovaning muayyan funksiyasiga kirish imkonini beradi. App Clip hajmi 10 MB dan oshmaydi va ishga tushirish ikki soniyadan kam davom etadi. Bu Apple-ning to'liq o'rnatishni talab qilmasdan native ilova bilan bir zumda o'zaro aloqa qilish yechimidir.
Asosiy xulosalar
App Clip — iOS uchun Apple texnologiyasi bo'lib, to'liq ilovaning kichik bir qismini uni o'rnatmasdan ishga tushirish imkonini beradi. Foydalanuvchi NFC tegi, QR kodi yoki App Clip Code ni skanerlaganda, operatsion tizim App Clipni joriy ekran ustida karta ko'rinishida yuklab ochadi. Apple App Clipni «to'la, buyurtma ber yoki ro'yxatdan o't» stsenariylari uchun ishlab chiqqan — ishqalanish va kutish talab qilmaydigan harakatlar.
App Clip epizodik rejimda ishlaydi. iOS App Clip ma'lumotlarini cheklangan vaqt davomida saqlaydi (odatda bir necha kun yoki foydalanuvchi tomonidan o'chirilgunga qadar). Agar foydalanuvchiga xuddi shu funksiya yana kerak bo'lsa, App Clip qayta yuklanadi. Apple App Clipning saqlanishini ataylab cheklaydi, doimiy foydalanish uchun to'liq ilovani o'rnatishni rag'batlantiradi. App Clipda yaratilgan ma'lumotlar CloudKit orqali o'rnatilgandan so'ng avtomatik ravishda to'liq ilovaga uzatiladi.
Haqiqiy misollar: restoranda stoldagi NFC teginasini buyurtma va to'lov uchun skanerlash (Panera, Pizza Hut), ijaraga olingan skuterning QR kodini ochish uchun skanerlash (Lime, Bird), parkomatda App Clip Code bilan to'lov (PayByPhone), do'konda mahsulotni sotib olish uchun skanerlash (Shopify). Bu stsenariylarning barchasini birlashtiradigan narsa — o'rnatish bosqichining yo'qligidan foyda ko'radigan tranzaksiya vazifasi.
App Clip faollashadi besh mexanizm orqali. Eng keng tarqalganlari — NFC teglari (tegish App Clipni ishga tushiradi), QR kodlari (kamera bilan skanerlash ekranning pastki qismida App Clip kartasini ko'rsatadi) va App Clip Codes (Apple-ning naqshli ramka va o'rnatilgan NFC tegi bilan xususiy vizual kodlari). App Clip shuningdek Safari App Banner va iMessage havolalari orqali ishga tushadi.
App Clip Code — Apple-ning patentlangan texnologiyasi. QR kodlaridan farqli o'laroq, App Clip Codes estetik ko'rinishga ega — ular brend ranglari va markazda logoni qo'llab-quvvatlaydi, URL esa chekkalardagi tovush to'lqinlarida kodlanadi. Kod o'rnatilgan NFC tegini o'z ichiga oladi, ikki tomonlama ishga tushirish mexanizmini ta'minlaydi: vizual skanerlash va tegish. Apple App Store Connect portali orqali App Clip Code yaratish vositalarini taqdim etadi.
// SceneDelegate.swift — App Clipni NSUserActivity orqali ishga tushirishni boshqarish
import UIKit
class SceneDelegate: UIResponder, UIWindowSceneDelegate {
var window: UIWindow?
func scene(_ scene: UIScene,
willContinueUserActivityWithType userActivityType: String) {
// Kiruvchi NSUserActivity ga tayyorgarlik
}
func scene(_ scene: UIScene,
continue userActivity: NSUserActivity) {
guard let invocationURL = userActivity.webpageURL else { return }
// URLni tahlil qilish va kerakli ekranga o'tish
handleInvocationURL(invocationURL)
}
private func handleInvocationURL(_ url: URL) {
// Misol: /order/restaurantID — buyurtma ekrani
// Misol: /pay/parkingID — to'lov ekrani
}
}Barcha trigerlar oxir-oqibat qo'ng'iroq kontekstini o'z ichiga olgan webpageURL parametri bilan NSUserActivity yaratadi. App Clip bu URLni tahlil qiladi va tegishli ekranni ko'rsatadi. App Clip shuningdek geolokatsiya trigerlarini qo'llab-quvvatlaydi — iOS foydalanuvchi ma'lum bir joy yaqinida bo'lganda (masalan, App Clipli kafe yonida) App Clipni taklif qilishi mumkin.
App Clip ishlab chiqish mavjud to'liq ilova Xcode loyihasi bilan boshlanadi. Siz yangi App Clip target qo'shasiz — u xuddi shu loyiha, bir guruh va umumiy kodning katta qismidan foydalanadi. App Clip target faqat muayyan funksiya uchun zarur bo'lgan fayllar, storyboardlar va resurslarni o'z ichiga oladi. Apple oldindan sozlangan ruxsatlar va Info.plist kalitlari bilan App Clip shablonini taqdim etadi.
// AppClip/ProductViewModel.swift — App Clip va to'liq ilova o'rtasidagi umumiy mantiq
import Foundation
import StoreKit
class ProductViewModel: ObservableObject {
@Published var items: [Product] = []
@Published var total: Decimal = 0
func checkout() {
// API orqali buyurtma yuborish
}
func showInstallPrompt() {
// To'liq ilovani o'rnatish uchun SKOverlay ko'rsatish
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 Clipning asosiy ekrani
class MainViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
// App Clip kartasi uchun ixcham UI
// Hajmni kamaytirish uchun SF Symbols dan foydalanamiz
// Faqat joriy tranzaksiya uchun ma'lumotlarni yuklaymiz
}
@IBAction func openFullApp(_ sender: Any) {
// App Store da ilova sahifasini ochish
guard let url = URL(string: "https://apps.apple.com/app/id123456789") else { return }
UIApplication.shared.open(url)
}
}App Clip target asosiy ilova bilan bir xil Apple Developer Team ID va Bundle ID (.Clip qo'shimchasi bilan) ishlatadi. Asosiy ruxsatlar: com.apple.developer.app-clip va URLlarni qayta ishlash uchun associated domains. App Clip Apple Pay, Sign in with Apple, StoreKit va Core Locationni qo'llab-quvvatlaydi. Ba'zi freymvorklar mavjud emas: fon rejimlari, HealthKit, Media Library va ba'zi sensor APIlari.
App Clip hajm cheklovi Apple tomonidan qattiq nazorat qilinadi — siqilgan holatda 10 MB dan oshmasligi kerak. Tekshirish App Storega yuklash bosqichida amalga oshiriladi; cheklovdan oshgan qurilmalar rad etiladi. Hajmga ikkilik kod, resurslar (storyboardlar, asset kataloglari) va bog'liq freymvorklar kiradi. Swift runtime kutubxonalari iOS tarkibiga kiradi va hisoblanmaydi, ammo uchinchi tomon freymvorklari hajmni oshiradi.
| Optimallashtirish usuli | Ta'siri | Izohlar |
|---|---|---|
| Thinning asset catalogs | 30–60% | Bitta tasvir shkalasi (3x), foydalanilmagan device idiomslarni chiqarib tashlash |
| SF Symbols | Sezilarli | Tizim piktogrammalari bepul — shaxsiylarini qo'shmang |
| SwiftUI UIKit o'rniga | 20–30% | SwiftUI kamroq bog'liq freymvorklarni talab qiladi |
| Minimal bog'liqliklar | O'zgaruvchan | Faqat App Clip funksiyasi uchun kerakli freymvorklarni qo'shing |
| On-demand resurslar | O'zgaruvchan | Muhim bo'lmagan ma'lumotlarni (tasvirlar) ishga tushgandan keyin yuklash |
| Kod strippingi | 10–40% | Swiftda dead code stripping va whole-module optimization |
Xcode arxivlashdan so'ng Organizerda App Clip hajm hisobotini taqdim etadi. Hisobot hajmni komponentlarga (kod, resurslar, freymvorklar) ajratadi va taxminiy yuklab olish hajmini ko'rsatadi. Apple turli yetkazib berish kanallarida siqilish farqlarini hisobga olish uchun App Clipni 8 MB chegarasida saqlashni tavsiya qiladi.
App Clip foydalanish stsenariysi to'rt bosqichdan iborat. Kashf qilish: foydalanuvchi jismoniy dunyoda NFC tegi, QR kodi yoki App Clip Code bilan uchrashadi. Ishga tushirish: skanerlash yoki tegish App Clipni yuklaydi (2 soniyadan kam, odatda 1 soniya). O'zaro aloqa: App Clip bitta funksiyali karta ko'rinishida ochiladi — buyurtma, to'lov yoki rezervatsiya ekrani. Yakunlash: foydalanuvchi vazifani bajaradi va SKOverlay yoki App Store havolasi orqali to'liq ilovani o'rnatish taklifini ko'radi.
Apple App Clipda maxfiylikka alohida e'tibor beradi. Tizim App Clip uchun alohida kamera, geolokatsiya va bildirishnoma ruxsatlarini so'raydi. App Clipda yaratilgan ma'lumotlar (to'lov ma'lumotlari, afzalliklar) mahalliy saqlanadi va to'liq ilova o'rnatilgandan so'ng CloudKit orqali uzatiladi. App Clip nozik ruxsatlarni (Health, Motion, Media Library) so'ray olmaydi — buning uchun to'liq ilovani o'rnatish talab qilinadi.
Muhim xususiyat — SKOverlay, App Clip ekranining pastki qismida ko'rsatiladigan va to'liq ilovani o'rnatishni taklif qiladigan native iOS elementi. SKOverlay App Storega o'tishni talab qilmaydi va joriy ilova kontekstida ishlaydi. Foydalanuvchi bir tegish bilan to'liq ilovani o'rnatishi mumkin, App Clip esa o'rnatishdan so'ng barcha yaratilgan ma'lumotlarni avtomatik uzatadi.
| Xususiyat | App Clip (iOS) | Instant App (Android) |
|---|---|---|
| Hajm cheklovi | 10 MB siqilgan | 10 MB umumiy |
| Ishga tushirish usullari | NFC, QR, App Clip Code, Safari, iMessage, geolokatsiya | Deep linklar, Google Play «Sinab ko'rish», NFC, QR |
| Ishlab chiqish | Xcode + Swift (bitta target) | Android Studio + Kotlin (feature modules) |
| Qo'llab-quvvatlash | iOS 14+ (iPhone, iPod touch) | Android 5.0+ (API 21+) |
| Ma'lumot saqlash | Vaqtinchalik, to'liq ilovaga uzatiladi | Vaqtinchalik (cookie API), uzatiladi |
| Monetizatsiya | Apple Pay, StoreKit | Google Pay, Google Play Billing |
| Vizual trigger | App Clip Code (o'ziga xos format) | Standart QR kodlari |
Ikkala texnologiya — App Clip va Android Instant App — bir xil vazifani hal qiladi: native ilovani o'rnatmasdan bir zumda ishga tushirish, ammo turli platforma yondashuvlaridan foydalanadi. App Clip cheklanganroq (faqat iOS, kichikroq ekotizim), lekin Apple Pay va Apple qurilmalari ekotizimi bilan chuqur integratsiyani taklif qiladi. Instant Apps qo'shimcha infratuzilmani talab qilmaydigan standart QR kodlarini ham o'z ichiga olgan Androidning kengroq qamrovi va moslashuvchan trigerlari tufayli ustunlikka ega.
Ko'p beriladigan savollar
App Clips iOS 14 yoki undan yuqorisini talab qiladi va iPhone 6s va undan yangilarida, iPod touch (7-avlod) va A9 yoki undan yangi chipiga ega barcha iPadlarda ishlaydi. App Clip Code skanerlash o'rnatilgan Kamera ilovasi orqali mavjud. NFC teglari orqali ishga tushirish iPhone XR/XS yoki undan yangi modellarni talab qiladi (iPhone 7/8 NFC ni o'qiy oladi, lekin App Clipni ishga tushira olmaydi).
Yo'q, App Clip albatta App Store-da to'liq iOS ilovasi bilan bog'langan bo'lishi kerak. App Clip mustaqil nashr etilishi mumkin emas. To'liq ilova va App Clip bir xil Apple Developer Team ID va Bundle ID (.Clip qo'shimchasi bilan) ishlatadi. Apple App Clipni to'liq ilovaga kirish nuqtasi sifatida joylashtiradi, mustaqil tarqatish mexanizmi sifatida emas.
App Clipning maksimal hajmi siqilgan holatda 10 MB. Apple bu cheklovni App Storega yuklashda qattiq tekshiradi. Siqilish farqlarini hisobga olish uchun hajmni 8 MB chegarasida saqlash tavsiya etiladi. Cheklovga rioya qilish uchun SF Symbols, SwiftUI dan foydalaning va uchinchi tomon bog'liqliklarini minimallashtiring.
Yo'q, App Clips push bildirishnomalarini yubora olmaydi. Apple spamming oldini olish uchun bu imkoniyatni ataylab bloklagan. Mahalliy bildirishnomalar App Clipning qisqa hayoti davomida ruxsat etiladi. Bildirishnomalar uchun foydalanuvchi to'liq ilovani o'rnatishi kerak. Bu PWA va to'liq native ilovalardan asosiy farqdir.
iOS App Clip ma'lumotlarini cheklangan vaqt saqlaydi (odatda 7–30 kun harakatsizlik). Agar foydalanuvchi to'liq ilovani o'rnatsa, ma'lumotlar CloudKit orqali avtomatik uzatiladi. O'rnatish amalga oshmasa, iOS App Clipni va uning ma'lumotlarini o'chiradi. Foydalanuvchi shuningdek App Clipni «App Clips» bo'limidagi Sozlamalar orqali qo'lda o'chirishi mumkin.
Oddiy stsenariy uchun (buyurtma + to'lov) mavjud iOS ilovasiga App Clip qo'shish odatda bitta dasturchi uchun 2–4 hafta davom etadi. App Clip asosiy ilovaning kod bazasining katta qismini ishlatadi, shuning uchun xarajatlar noldan alohida ilova yaratishdan sezilarli darajada past. Asosiy vaqt hajm optimallashtirish va trigerlarni sozlashga sarflanadi.
App Clip Apple Pay, Sign in with Apple, StoreKit, Core Location, MapKit va PushKit (faqat VoIP uchun) ni qo'llab-quvvatlaydi. Mavjud emas HealthKit, ResearchKit, HomeKit, CarPlay, Metal (to'liq hajmda), fon rejimlari (background fetch, location updates) va Media Library. App Clip shuningdek mikrofonga va ba'zi qurilma sensorlariga kira olmaydi.
Qisqacha xulosa
Biz kalit topshirig'i bilan mobil ilovani ishlab chiqamiz
IT Sectr 2017-yildan beri startaplar va korxonalar uchun iOS va Android ilovalarini yaratadi. Biz sizga maslahat beramiz va eng yaxshi yechimni taklif qilamiz.