Dynamic Island: bu nima, Dynamic Island bilan o'zaro aloqa

Muallif: IT Sectr Nashr etilgan: 2026-02-28 O'qish vaqti: 9 daq

Dynamic Island — iPhone 14 Pro va barcha iPhone 15/16 larning yuqori qismidagi interaktiv maydon bo'lib, bildirishnomalar, fon faoliyatlari va tizim ko'rsatkichlarini yagona dinamik zonada birlashtiradi. An'anaviy kesikdan (notch) farqli o'laroq, Dynamic Island joriy kontekstga qarab shakli va hajmini o'zgartiradi. Apple ma'lumotlariga ko'ra (WWDC 2024), foydalanuvchilar Dynamic Island bilan o'rtacha kuniga 12 marta — teginish, uzoq bosish va ActivityKit bilan Live Activities orqali o'zaro aloqada bo'lishadi. iOS-dagi animatsiyalar haqida batafsil Corner Radius maqolasida o'qing.

Asosiy ma'lumotlar

  • Dynamic Island — Apple-ning dasturiy-apparat yechimi bo'lib, kesikni o'zgaruvchan geometriyali interaktiv zona bilan almashtiradi.
  • Live Activities — ActivityKit framework (iOS 16.1+) orqali ishlaydigan Dynamic Island-dagi vidjetlar.
  • Uch holat: ixcham (belgi), minimal (tabletka), kengaytirilgan (tarkibli panel).
  • ActivityKit — Dynamic Island va Lock Screen-da Live Activities nashr qilish uchun Swift framework.
  • Dynamic Island imo-ishoralarni qo'llab-quvvatlaydi: ilovani ochish uchun bosish, panelni ochish uchun uzoq bosish.

Dynamic Island nima?

Dynamic Island — Apple-ning dasturiy-apparat yechimiga asoslangan interaktiv maydon bo'lib, 2022 yil sentyabrda iPhone 14 Pro bilan birga taqdim etilgan. Jismoniy jihatdan bu tabletka shaklidagi kesik bo'lib, OLED piksellari bilan o'ralgan va dinamik ravishda rang va shaklini o'zgartiradi. Apple kamera va Face ID uchun apparat bo'linmasi atrofidagi qora maydonlarning dasturiy renderi kombinatsiyasidan foydalanib, «tirik» orol illyuziyasini yaratadi.

Dynamic Island-ning asosiy maqsadi tizim bildirishnomalari va faol tarkib o'rtasidagi bo'shliqni bartaraf etishdir. Bildirishnomalar ekran markazida (Android-dagi kabi) yoki yuqorida banner shaklida (eski iOS-lardagi kabi) paydo bo'lishi o'rniga, Dynamic Island ularni to'g'ridan-to'g'ri apparat zonasiga birlashtiradi. Bu diqqatni chalg'itishni kamaytiradi va yagona makon hissini yaratadi.

Apple ma'lumotlariga ko'ra (iOS 17 Adoption Statistics, 2024), Dynamic Island faol iPhone-larning 38% da mavjud. iPhone 15 (2023) dan boshlab, barcha model seriyalari Dynamic Island ni oldi, shu jumladan asosiy modellar. iOS 18 da Apple Live Activities API ni kengaytirib, to'g'ridan-to'g'ri Dynamic Island-da orqaga hisoblash taymerlari va sport natijalarini qo'llab-quvvatlashni qo'shdi.

Qaysi modellar Dynamic Island ni qo'llab-quvvatlaydi

Dynamic Island iPhone 14 Pro, iPhone 14 Pro Max, iPhone 15, iPhone 15 Plus, iPhone 15 Pro, iPhone 15 Pro Max, iPhone 16, iPhone 16 Plus, iPhone 16 Pro, iPhone 16 Pro Max da mavjud. iPad da Dynamic Island yo'q. Dynamic Island uchun ishlab chiqish Xcode 14.1+ va iOS 16.1+ talab qiladi.

Dynamic Island qanday ishlaydi: uch holat

Dynamic Island uchta ko'rsatish holatini qo'llab-quvvatlaydi: ixcham (compact), minimal (minimal) va kengaytirilgan (expanded). Holatlar o'rtasidagi o'tish UIKit-animatsiyalari va Core Animation yordamida animatsiya qilinadi. Tizim o'zi faoliyatlarning ustuvorligini boshqaradi: agar bir nechta ilovalar bir vaqtning o'zida tarkibni ko'rsatishga harakat qilsa, iOS so'nggi faoliyatning boshlanish vaqtiga asoslangan navbatdan foydalanadi.

HolatHajmTarkibMisol
Compact49×18 ptIlova belgisi + tizim belgisiTaymer, musiqa, qo'ng'iroq
Minimal66×18 pt gachaBelgi + qisqa matnNavigatsiya yo'nalishlari, qadamlar
Expanded364×160 pt gachaTarkibli to'liq vidjetSport natijasi, taksi holati

Ixcham holat — bitta fon vazifasi faol bo'lganda Dynamic Island-ning standart ko'rinishi. Chapda ilova belgisi va o'ngda tizim belgisi bo'lgan yumaloqlangan tabletka sifatida ko'rsatiladi. Barcha Live Activities standart ravishda ixcham holatda boshlanadi.

Minimal holat ikki yoki undan ortiq vazifalar bir vaqtning o'zida faol bo'lganda yuzaga keladi. Dynamic Island kameraning chap va o'ng tomonida ikkita alohida elementga «bo'linadi». Minimal holat ikkita mustaqil ma'lumot manbasini ko'rsatishga imkon beradi, masalan taksi kelish vaqti va joriy trek.

Kengaytirilgan holat Dynamic Island-da uzoq bosish bilan faollashadi. Bu rejimda sozlanishi tarkibli to'liq vidjet ko'rsatiladi: sarlavhalar, tavsiflar, borish chiziqlari, tugmalar. Kengaytirilgan holat aylantirish va interaktiv elementlarni qo'llab-quvvatlaydi.

ActivityKit va Live Activities: Swift API

ActivityKit — iOS 16.1 da taqdim etilgan Swift framework bo'lib, ilovalarga Dynamic Island va Lock Screen da Live Activities nashr qilish imkonini beradi. ActivityKit ActivityView va ActivityAttributes ga asoslangan arxitekturadan foydalanadi: birinchisi tarkib turini, ikkinchisi o'zgaruvchi ma'lumotlarni belgilaydi. Framework WidgetKit bilan bog'liq holda ishlaydi, lekin vidjetlardan farqli o'laroq, Live Activities ilovani ochmasdan real vaqtda yangilanishi mumkin.

swift
import ActivityKit
import SwiftUI

// Faoliyat atributlarini aniqlaymiz
struct DeliveryAttributes: ActivityAttributes {
    public struct ContentState: Codable, Hashable {
        var driverName: String
        var distanceToArrival: Double
        var estimatedMinutes: Int
    }
    var orderNumber: String
}

// Live Activity ni ishga tushiramiz
func startDeliveryActivity() {
    let initialState = DeliveryAttributes.ContentState(
        driverName: "Aleksey",
        distanceToArrival: 3.5,
        estimatedMinutes: 12
    )
    let attributes = DeliveryAttributes(orderNumber: "ORD-2024-8912")
    let activity = try? Activity.request(
        attributes: attributes,
        contentState: initialState,
        pushType: .token
    )
}

Live Activities Dynamic Island uchun SwiftUI tarkibini render qiladigan ActivityView orqali yangilanadi. Tizim o'zi Dynamic Island hajmi va faoliyatlar soniga qarab qaysi shablondan foydalanishni aniqlaydi (ixcham, minimal yoki kengaytirilgan). Tarkibni yangilash uchun activity.update(using: contentState) ni chaqiring. Tugatish uchun — activity.end(dismissalPolicy: .immediate).

Push yangilanishlari bilan dinamik bildirishnomalar

ActivityKit push yangilanishlarini APNs (Apple Push Notification Service) orqali qo'llab-quvvatlaydi. Live Activity boshlaganda pushToken so'rashingiz va qurilmada ilovani ishga tushirmasdan serverdan yangilanishlar yuborishingiz mumkin. Push yangilanishlari activity.pushToken va Live Activity ni masofadan boshlash uchun Activity.pushToStartToken orqali ishlaydi.

swift
// Live Activity ni Push orqali yangilash
func updateActivity(activity: Activity<DeliveryAttributes>) {
    let updatedState = DeliveryAttributes.ContentState(
        driverName: "Aleksey",
        distanceToArrival: 1.2,
        estimatedMinutes: 4
    )
    let alertConfiguration = AlertConfiguration(
        title: "Kuryer yaqin",
        body: "Aleksey 4 daqiqada keladi",
        sound: .default
    )
    await activity.update(
        using: updatedState,
        alertConfiguration: alertConfiguration
    )
}

AlertConfiguration — qo'shimcha parametr bo'lib, muhim yangilanishlarda (masalan, "Kuryer keldi") Dynamic Island ustida bildirishnomani ko'rsatadi. AlertConfiguration bo'lmasa, tarkib ovozsiz yangilanadi, bu borish chiziqlari va taymerlar uchun mos keladi.

Dynamic Island vs Notch: taqqoslash

Notch (kesik) — old kamera, Face ID sensori va dinamikni o'z ichiga olgan iPhone X–13 apparat zonasi. Notch statik: uning hajmi va shakli o'zgarmaydi, bildirishnomalar esa uning ostida standart bannerlar shaklida ko'rsatiladi. Dynamic Island, aksincha, kesik atrofidagi piksellardan tarkibni ko'rsatish uchun foydalanadi, apparat elementini interfeysning bir qismiga aylantiradi.

MezonDynamic IslandNotch
InteraktivlikBosish, uzoq bosish, surishni qo'llab-quvvatlaydiInteraktiv emas
Tarkib moslashuviKontekstga qarab shaklni o'zgartiradiStatik, tarkib kesik ostida
Live ActivitiesActivityKit orqali o'rnatilgan qo'llab-quvvatlashYo'q — faqat oddiy bildirishnomalar
Ko'p vazifalilikIkki bir vaqtli faoliyat (chap va o'ng)Faqat bitta faoliyat
MavjudlikiOS 16.1+, iPhone 14 Pro va yangilariiOS 11+, iPhone X–13

Apple Human Interface Guidelines (2025) ga ko'ra, Dynamic Island reklama yoki statik tarkibni doimiy ko'rsatish uchun ishlatilmasligi kerak. Live Activities faqat aniq hayot sikliga ega fon vazifalari uchun mo'ljallangan: taymerlar, yetkazib berish, sport, musiqa, navigatsiya. Ushbu qoidalarni buzish ilovaning App Store Review da rad etilishiga olib keladi.

Dynamic Island hayot sikli va imo-ishoralar

Dynamic Island qat'iy hayot sikliga ega: faoliyat Activity.request() orqali so'rov bilan boshlanadi, faol/to'xtatilgan/yangilangan holatlardan o'tadi va activity.end() chaqiruvi bilan tugaydi. Tizim xotira yetishmasligida (masalan, kamera ishga tushirilganda) faoliyatni majburiy tugatishi mumkin. Bu holda ilova ActivityActivityState.finished orqali bildirishnoma oladi.

Imo-ishoralar Dynamic Island ActivityView ichidagi SwiftUI tarkibi tomonidan qayta ishlanadi. Standart imo-ishoralar: ixcham holatga bosish ilovani ochadi, uzoq bosish kengaytirilgan holatni ochadi, pastga surish kengaytirilgan holatni yopadi. Maxsus imo-ishoralar SwiftUI modifikatorlari (onTapGesture, onLongPressGesture) orqali faoliyat ko'rinishi ichida qo'shiladi.

finished holatini qayta ishlash

Tizim Live Activity ni tugatganda (yoki foydalanuvchi surish bilan o'chirganda), ilova resurslarni bo'shatish uchun finished holatini qayta ishlashi kerak. Activity.activityStateUpdates ga obuna bo'lish va faoliyat tugagandan so'ng lokal havolalarni o'chirish tavsiya etiladi.

swift
import ActivityKit

func observeActivityState(activity: Activity<DeliveryAttributes>) {
    Task {
        for await state in activity.activityStateUpdates {
            switch state {
            case .active:
                print("Activity Dynamic Island da faol")
            case .dismissed:
                print("Activity foydalanuvchi tomonidan yashirilgan")
                await activity.end(dismissalPolicy: .immediate)
            case .finished:
                print("Activity tizim tomonidan tugatilgan")
                cleanupResources()
            @unknown default:
                break
            }
        }
    }
}

Apple tavsiyasi (WWDC 2024, Session 10146): foydalanuvchi diqqatini talab qilmaydigan statuslarni ko'rsatish uchun Dynamic Island dan foydalanmang. Har bir Live Activity aniq boshlash va tugatish triggeriga ega bo'lishi kerak. UI siz fon yangilanishlari uchun Live Activities emas, Background Tasks dan foydalaning.

Ko'p beriladigan savollar

Qaysi iPhone-larda Dynamic Island ishlaydi?

Dynamic Island iPhone 14 Pro, 14 Pro Max va barcha iPhone 15 va iPhone 16 modellarida (asosiy versiyalar bilan birga) mavjud. Ishlab chiqish uchun iOS 16.1+ va Xcode 14.1 talab qilinadi. Eski modellarda (iPhone X–13) Live Activities ni qo'llab-quvvatlamaydigan statik notch kesik ishlatiladi.

Dynamic Island oddiy bildirishnomadan nimasi bilan farq qiladi?

Dynamic Island bildirishnomani ekranning apparat zonasiga birlashtiradi, tarkibni to'smasdan. Oddiy bildirishnoma yuqorida banner shaklida paydo bo'ladi va bir necha soniyadan so'ng yo'qoladi. Dynamic Island dagi Live Activities soatlab faol qolishi va real vaqtda yangilanishi mumkin (yetkazib berish holati, taymer, musiqa).

Ilovani ochmasdan Dynamic Island da tarkibni qanday yangilash mumkin?

APNs orqali push yangilanishlaridan foydalaning. Live Activity boshlaganda activity.pushToken ni chaqiring va tokenni serveringizga yuboring. Server APNs orqali yangi ContentState bilan update so'rovini yuboradi. Muqobil — xuddi shu ilovadan activity.update(using:) orqali lokal yangilanish.

Dynamic Island da bir vaqtning o'zida ikkita faoliyatni qanday ko'rsatish mumkin?

iOS ikkita faol Live Activity mavjud bo'lganda Dynamic Island ni avtomatik ravishda ikkita segmentga ajratadi. Har bir faoliyat kameraning chap va o'ng tomonida minimal holatda ko'rsatiladi. Segmentlardan biriga uzoq bosganda faqat shu ilovaning kengaytirilgan holati ochiladi.

Nega mening Live Activity im Dynamic Island da ko'rinmaydi?

Tekshiring: (1) ilovada Info.plist da NSSupportsLiveActivities = YES bor, (2) ActivityAttributes va ContentState Codable va Hashable ni implementatsiya qiladi, (3) iOS versiyasi 16.1+, (4) qurilma Dynamic Island ni qo'llab-quvvatlaydi. Simulyator uchun Xcode da iPhone 14 Pro yoki undan yangisini ishlating.

Xulosa

  • Dynamic Island — statik notch ni almashtiruvchi iPhone 14 Pro+ interaktiv zonasi.
  • Uch holatni qo'llab-quvvatlaydi: ixcham, minimal va kengaytirilgan silliq o'tish animatsiyalari bilan.
  • ActivityKit — Dynamic Island va Lock Screen da Live Activities nashr qilish uchun Swift framework.
  • Live Activities lokal chaqiruvlar yoki APNs orqali push bildirishnomalari bilan yangilanadi.
  • Imo-ishoralar: ilovaga o'tish uchun bosish, panelni ochish uchun uzoq bosish, yopish uchun surish.
  • Dynamic Island segmentlarga bo'linish bilan ikkita bir vaqtli faoliyatgacha qo'llab-quvvatlaydi.
  • Apple Live Activities dan foydalanishni faqat aniq vaqt chegaralari bo'lgan fon vazifalari bilan cheklaydi.

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.

Loyihani muhokama qilish

Shuningdek o'qing