Dynamic Island: nədir, Dynamic Island ilə qarşılıqlı əlaqə

Müəllif: IT Sectr Dərc olunub: 2026-02-28 Oxuma vaxtı: 9 dəq

Dynamic Island — iPhone 14 Pro və bütün iPhone 15/16 modellərinin yuxarı hissəsində yerləşən, bildirişləri, fon aktivliklərini və sistem göstəricilərini vahid dinamik zonada birləşdirən interaktiv sahədir. Ənənəvi kəsikdən (notch) fərqli olaraq, Dynamic Island cari kontekstdən asılı olaraq forma və ölçüsünü dəyişir. Apple (WWDC 2024) məlumatlarına görə, istifadəçilər Dynamic Island ilə orta hesabla gündə 12 dəfə — toxunuş, uzun basma və ActivityKit ilə Live Activities vasitəsilə qarşılıqlı əlaqədə olurlar. iOS-dakı animasiyalar haqqında ətraflı Corner Radius məqaləsində oxuyun.

Əsas məqamlar

  • Dynamic Island — Apple-ın proqram-təminat həlli olub, kəsikləri dəyişən həndəsəyə malik interaktiv zona ilə əvəz edir.
  • Live Activities — ActivityKit framework (iOS 16.1+) vasitəsilə işləyən Dynamic Island vidjetləri.
  • Üç vəziyyət: yığcam (ikona), minimal (həb), genişləndirilmiş (məzmunlu panel).
  • ActivityKit — Dynamic Island və Lock Screen-də Live Activities dərc etmək üçün Swift framework.
  • Dynamic Island jestləri dəstəkləyir: tətbiqi açmaq üçün toxunma, paneli genişləndirmək üçün uzun basma.

Dynamic Island nədir?

Dynamic Island — Apple-ın proqram-təminat həlli əsasında interaktiv sahə olub, 2022-ci ilin sentyabrında iPhone 14 Pro ilə birlikdə təqdim edilmişdir. Fiziki olaraq bu, həb formasında kəsikdir, OLED pikselləri ilə əhatə olunmuşdur və dinamik olaraq rəng və formasını dəyişir. Apple kamera və Face ID üçün aparat bölməsinin ətrafında qara sahələrin proqram renderi kombinasiyasından istifadə edərək «canlı» ada illüziyası yaradır.

Dynamic Island-ın əsas məqsədi sistem bildirişləri ilə aktiv məzmun arasındakı boşluğu aradan qaldırmaqdır. Bildirişlərin ekranın mərkəzində (Android-də olduğu kimi) və ya yuxarıda banner şəklində (köhnə iOS versiyalarında olduğu kimi) görünməsi əvəzinə, Dynamic Island onları birbaşa aparat zonasına inteqrasiya edir. Bu, diqqətin yayınmasını azaldır və vahid məkan hissi yaradır.

Apple məlumatlarına görə (iOS 17 Adoption Statistics, 2024), Dynamic Island aktiv iPhone-ların 38%-də mövcuddur. iPhone 15-dən (2023) başlayaraq, bütün model seriyaları Dynamic Island aldı, o cümlədən əsas modellər. iOS 18-də Apple Live Activities API-ni genişləndirərək, birbaşa Dynamic Island-da geri sayım taymerləri və idman nəticələri dəstəyini əlavə etdi.

Hansı modellər Dynamic Island-ı dəstəkləyir

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 modellərində mövcuddur. iPad-də Dynamic Island yoxdur. Dynamic Island üçün tərtibat Xcode 14.1+ və iOS 16.1+ tələb edir.

Dynamic Island necə işləyir: üç vəziyyət

Dynamic Island üç göstərmə vəziyyətini dəstəkləyir: yığcam (compact), minimal (minimal) və genişləndirilmiş (expanded). Vəziyyətlər arasında keçid UIKit-animasiyaları və Core Animation istifadə edilərək animasiya olunur. Sistem özü aktivliklərin prioritetini idarə edir: bir neçə tətbiq eyni anda məzmun göstərməyə çalışarsa, iOS son aktivliyin başlama vaxtına əsaslanan növbədən istifadə edir.

VəziyyətÖlçüMəzmunNümunə
Compact49×18 ptTətbiq ikonu + sistem ikonuTaymer, musiqi, zəng
Minimal66×18 pt-ə qədərİkon + qısa mətnNaviqasiya istiqamətləri, addımlar
Expanded364×160 pt-ə qədərMəzmunlu tam vidjetİdman hesabı, taksi statusu

Yığcam vəziyyət — bir fon tapşırığı aktiv olduqda Dynamic Island-ın standart görünüşü. Solda tətbiq ikonu və sağda sistem ikonu olan yuvarlaqlaşdırılmış həb kimi göstərilir. Bütün Live Activities standart olaraq yığcam vəziyyətdə başlayır.

Minimal vəziyyət iki və ya daha çox tapşırıq eyni anda aktiv olduqda yaranır. Dynamic Island kameranın solunda və sağında iki ayrı elementə «bölünür». Minimal vəziyyət iki müstəqil məlumat mənbəyini göstərməyə imkan verir, məsələn taksi gəliş vaxtı və cari treki.

Genişləndirilmiş vəziyyət Dynamic Island-da uzun basma ilə aktivləşir. Bu rejimdə konfiqurasiya oluna bilən məzmunu olan tam vidjet göstərilir: başlıqlar, təsvirlər, gedişat çubuqları, düymələr. Genişləndirilmiş vəziyyət sürüşdürmə və interaktiv elementləri dəstəkləyir.

ActivityKit və Live Activities: Swift API

ActivityKit — iOS 16.1-də təqdim edilmiş Swift framework olub, tətbiqlərə Dynamic Island və Lock Screen-də Live Activities dərc etməyə imkan verir. ActivityKit ActivityView və ActivityAttributes-ə əsaslanan arxitekturadan istifadə edir: birincisi məzmun tipini, ikincisi dəyişən məlumatları müəyyən edir. Framework WidgetKit ilə əlaqədə işləyir, lakin vidjetlərdən fərqli olaraq, Live Activities tətbiqi açmadan real vaxtda yenilənə bilər.

swift
import ActivityKit
import SwiftUI

// Aktivlik atributlarını təyin edirik
struct DeliveryAttributes: ActivityAttributes {
    public struct ContentState: Codable, Hashable {
        var driverName: String
        var distanceToArrival: Double
        var estimatedMinutes: Int
    }
    var orderNumber: String
}

// Live Activity-ni işə salırıq
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 üçün SwiftUI-məzmununu render edən ActivityView vasitəsilə yenilənir. Sistem özü Dynamic Island-ın ölçüsü və aktivliklərin sayından asılı olaraq hansı şablondan istifadə edəcəyini müəyyən edir (yığcam, minimal və ya genişləndirilmiş). Məzmunu yeniləmək üçün activity.update(using: contentState) çağırın. Bitirmək üçün — activity.end(dismissalPolicy: .immediate).

Push yeniləmələri ilə dinamik bildirişlər

ActivityKit push yeniləmələrini APNs (Apple Push Notification Service) vasitəsilə dəstəkləyir. Live Activity başladarkən pushToken tələb edə və cihazda tətbiqi işə salmadan serverdən yeniləmələr göndərə bilərsiniz. Push yeniləmələri activity.pushToken və Live Activity-nin uzaqdan başladılması üçün Activity.pushToStartToken vasitəsilə işləyir.

swift
// Live Activity-nin Push vasitəsilə yenilənməsi
func updateActivity(activity: Activity<DeliveryAttributes>) {
    let updatedState = DeliveryAttributes.ContentState(
        driverName: "Aleksey",
        distanceToArrival: 1.2,
        estimatedMinutes: 4
    )
    let alertConfiguration = AlertConfiguration(
        title: "Kuryer yaxınlaşır",
        body: "Aleksey 4 dəqiqəyə gələcək",
        sound: .default
    )
    await activity.update(
        using: updatedState,
        alertConfiguration: alertConfiguration
    )
}

AlertConfiguration — əlavə parametrdir və vacib yeniləmələrdə (məsələn, «Kuryer gəldi») Dynamic Island üzərində bildiriş göstərir. AlertConfiguration olmadan məzmun səssizcə yenilənir, bu da gedişat çubuqları və taymerlər üçün uyğundur.

Dynamic Island vs Notch: müqayisə

Notch (kəsik) — ön kamera, Face ID sensoru və dinamiki ehtiva edən iPhone X–13-ün aparat zonasıdır. Notch statikdir: ölçüsü və forması dəyişmir, bildirişlər isə onun altında standart bannerlər şəklində göstərilir. Dynamic Island, əksinə, kəsik ətrafındakı piksellərdən məzmun göstərmək üçün istifadə edir, aparat elementini interfeysin bir hissəsinə çevirir.

MeyarDynamic IslandNotch
İnteraktivlikUzun basma, toxunma, sürüşdürməni dəstəkləyirİnteraktiv deyil
Məzmun adaptasiyasıFormasını kontekstə görə dəyişirStatikdir, məzmun kəsik altında
Live ActivitiesActivityKit vasitəsilə daxili dəstəkYox — yalnız adi bildirişlər
Multi-taskingİki eynivaxtlı aktivlik (sol və sağ)Yalnız bir aktivlik
MövcudluqiOS 16.1+, iPhone 14 Pro və daha yeniləriiOS 11+, iPhone X–13

Apple Human Interface Guidelines-ə (2025) görə, Dynamic Island reklam və ya statik məzmunun daimi göstərilməsi üçün istifadə edilməməlidir. Live Activities yalnız aydın həyat dövrü olan fon tapşırıqları üçün nəzərdə tutulub: taymerlər, çatdırılma, idman, musiqi, naviqasiya. Bu qaydaların pozulması tətbiqin App Store Review-də rədd edilməsinə səbəb olur.

Dynamic Island həyat dövrü və jestlər

Dynamic Island ciddi həyat dövrünə malikdir: aktivlik Activity.request() vasitəsilə sorğu ilə başlayır, aktiv/dayandırılmış/yenilənmiş vəziyyətlərindən keçir və activity.end() çağırışı ilə bitir. Sistem yaddaş çatışmazlığı olduqda (məsələn, kamera işə salındıqda) aktivliyi məcburi bitirə bilər. Bu halda tətbiq ActivityActivityState.finished vasitəsilə bildiriş alır.

Jestlər Dynamic Island ActivityView daxilində SwiftUI-məzmunu tərəfindən işlənir. Standart jestlər: yığcam vəziyyətə toxunma tətbiqi açır, uzun basma genişləndirilmiş vəziyyəti açır, aşağı sürüşdürmə genişləndirilmiş vəziyyəti bağlayır. Xüsusi jestlər SwiftUI modifierləri (onTapGesture, onLongPressGesture) vasitəsilə aktivlik görünüşü daxilində əlavə edilir.

finished vəziyyətinin işlənməsi

Sistem Live Activity-ni bitirdikdə (və ya istifadəçi sürüşdürərək silir), tətbiq resursları boşaltmaq üçün finished vəziyyətini işləməlidir. Activity.activityStateUpdates-ə abunə olmaq və aktivlik bitdikdən sonra lokal istinadları silmək tövsiyə olunur.

swift
import ActivityKit

func observeActivityState(activity: Activity<DeliveryAttributes>) {
    Task {
        for await state in activity.activityStateUpdates {
            switch state {
            case .active:
                print("Activity Dynamic Island-da aktivdir")
            case .dismissed:
                print("Activity istifadəçi tərəfindən gizlədilib")
                await activity.end(dismissalPolicy: .immediate)
            case .finished:
                print("Activity sistem tərəfindən başa çatdırılıb")
                cleanupResources()
            @unknown default:
                break
            }
        }
    }
}

Apple tövsiyəsi (WWDC 2024, Session 10146): istifadəçi diqqətini tələb etməyən statusları göstərmək üçün Dynamic Island-dan istifadə etməyin. Hər bir Live Activity aydın başlama və bitmə triggerinə malik olmalıdır. UI olmadan fon yeniləmələri üçün Live Activities deyil, Background Tasks istifadə edin.

Tez-tez verilən suallar

Hansı iPhone-larda Dynamic Island işləyir?

Dynamic Island iPhone 14 Pro, 14 Pro Max və bütün iPhone 15 və iPhone 16 modellərində (əsas versiyalar daxil olmaqla) mövcuddur. Tərtibat üçün iOS 16.1+ və Xcode 14.1 tələb olunur. Köhnə modellərdə (iPhone X–13) Live Activities-i dəstəkləməyən statik notch kəsikindən istifadə olunur.

Dynamic Island adi bildirişdən nə ilə fərqlənir?

Dynamic Island bildirişi ekranın aparat zonasına inteqrasiya edir, məzmunu bağlamadan. Adi bildiriş yuxarıda banner şəklində görünür və bir neçə saniyədən sonra yox olur. Dynamic Island-dakı Live Activities saatlarla aktiv qala bilər və real vaxtda yenilənə bilər (çatdırılma statusu, taymer, musiqi).

Tətbiqi açmadan Dynamic Island-da məzmunu necə yeniləmək olar?

APNs vasitəsilə push yeniləmələrindən istifadə edin. Live Activity başladarkən activity.pushToken çağırın və tokeni serverinizə göndərin. Server APNs vasitəsilə yeni ContentState ilə update sorğusu göndərir. Alternativ — eyni tətbiqdən activity.update(using:) vasitəsilə lokal yeniləmə.

Dynamic Island-da eyni anda iki aktivliyi necə göstərmək olar?

iOS iki aktiv Live Activity olduqda Dynamic Island-ı avtomatik olaraq iki seqmentə bölür. Hər bir aktivlik kameranın solunda və sağında minimal vəziyyətdə göstərilir. Seqmentlərdən birinə uzun basdıqda yalnız həmin tətbiqin genişləndirilmiş vəziyyəti açılır.

Niyə Live Activity-im Dynamic Island-da görünmür?

Yoxlayın: (1) tətbiqin Info.plist-də NSSupportsLiveActivities = YES var, (2) ActivityAttributes və ContentState Codable və Hashable implementasiya edir, (3) iOS versiyası 16.1+, (4) cihaz Dynamic Island-ı dəstəkləyir. Simulyator üçün Xcode-da iPhone 14 Pro və ya daha yenisini istifadə edin.

Nəticə

  • Dynamic Island — statik notch-u əvəz edən iPhone 14 Pro+-un interaktiv zonası.
  • Üç vəziyyəti dəstəkləyir: yığcam, minimal və genişləndirilmiş hamar keçid animasiyaları ilə.
  • ActivityKit — Dynamic Island və Lock Screen-də Live Activities dərc etmək üçün Swift framework.
  • Live Activities lokal çağırışlar və ya APNs vasitəsilə push bildirişləri ilə yenilənir.
  • Jestlər: tətbiqə keçmək üçün toxunma, paneli genişləndirmək üçün uzun basma, bağlamaq üçün sürüşdürmə.
  • Dynamic Island seqmentlərə bölünməklə iki eynivaxtlı aktivliyə qədər dəstəkləyir.
  • Apple Live Activities-in istifadəsini yalnız aydın vaxt çərçivəsi olan fon tapşırıqları ilə məhdudlaşdırır.

Açar təslim mobil tətbiq hazırlayacağıq

IT Sectr 2017-ci ildən startaplar və bizneslər üçün iOS və Android tətbiqləri yaradır. Sizə məsləhət verəcəyik və ən yaxşı həlli təklif edəcəyik.

Layihəni müzakirə et

Həm də oxuyun