Dynamic Island: ano ito, pakikipag-ugnayan sa Dynamic Island

May-akda: IT Sectr Nai-publish: 2026-02-28 Oras ng pagbabasa: 9 min

Dynamic Island — isang interactive na lugar sa itaas na bahagi ng iPhone 14 Pro at lahat ng iPhone 15/16, na pinagsasama ang mga notification, background activity at system indicator sa iisang dynamic na zone. Hindi tulad ng tradisyonal na notch, binabago ng Dynamic Island ang hugis at laki depende sa kasalukuyang konteksto. Ayon sa data ng Apple (WWDC 2024), ang mga user ay nakikipag-ugnayan sa Dynamic Island ng average na 12 beses sa isang araw — sa pamamagitan ng pag-tap, mahabang pagpindot at Live Activities gamit ang ActivityKit. Magbasa pa tungkol sa mga animation sa iOS sa artikulo tungkol sa Corner Radius.

Mga Pangunahing Punto

  • Dynamic Island — software-hardware na solusyon ng Apple na pinapalitan ang notch ng isang interactive na zone na may nagbabagong heometriya.
  • Live Activities — mga widget sa Dynamic Island na gumagana sa pamamagitan ng ActivityKit framework (iOS 16.1+).
  • Tatlong estado: compact (icon), minimal (pill), expanded (panel na may nilalaman).
  • ActivityKit — Swift framework para mag-publish ng Live Activities sa Dynamic Island at Lock Screen.
  • Sinusuportahan ng Dynamic Island ang mga kilos: pag-tap para buksan ang app, mahabang pagpindot para palawakin ang panel.

Ano ang Dynamic Island?

Dynamic Island — ay isang interactive na lugar batay sa software-hardware na solusyon ng Apple, na ipinakilala noong Setyembre 2022 kasama ang iPhone 14 Pro. Pisikal, ito ay isang notch na hugis pill, na napapalibutan ng OLED pixels na dinamikong nagbabago ng kulay at hugis. Gumagamit ang Apple ng kombinasyon ng hardware compartment para sa camera at Face ID na may software rendering ng mga itim na lugar sa paligid nito, na lumilikha ng ilusyon ng isang «buhay» na isla.

Ang pangunahing layunin ng Dynamic Island ay alisin ang agwat sa pagitan ng system notification at aktibong nilalaman. Sa halip na lumitaw ang mga notification sa gitna ng screen (tulad ng sa Android) o bilang mga banner sa itaas (tulad ng sa mas lumang iOS), Dynamic Island ang nag-iintegrate ng mga ito nang direkta sa hardware zone. Binabawasan nito ang pagkagambala at lumilikha ng pakiramdam ng nagkakaisang espasyo.

Ayon sa data ng Apple (iOS 17 Adoption Statistics, 2024), ang Dynamic Island ay available sa 38% ng mga aktibong iPhone. Simula sa iPhone 15 (2023), lahat ng modelo sa serye ay nakatanggap ng Dynamic Island, kasama ang mga base model. Sa iOS 18, pinalawak ng Apple ang Live Activities API, nagdagdag ng suporta para sa countdown timer at mga resulta ng sports nang direkta sa Dynamic Island.

Aling mga modelo ang sumusuporta sa Dynamic Island

Dynamic Island ay available sa 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. Sa iPad, wala ang Dynamic Island. Para sa pag-develop gamit ang Dynamic Island, kinakailangan ang Xcode 14.1+ at iOS 16.1+.

Paano gumagana ang Dynamic Island: tatlong estado

Dynamic Island ay sumusuporta sa tatlong estado ng pagpapakita: compact (compact), minimal (minimal) at expanded (expanded). Ang paglipat sa pagitan ng mga estado ay nai-animate gamit ang UIKit animations at Core Animation. Ang sistema mismo ang namamahala sa priyoridad ng mga aktibidad: kung maraming app ang sumusubok na magpakita ng nilalaman nang sabay-sabay, gumagamit ang iOS ng queue batay sa oras ng pagsisimula ng huling aktibidad.

EstadoSukatNilalamanHalimbawa
Compact49×18 ptIcon ng app + system iconTimer, musika, tawag
MinimalHanggang 66×18 ptIcon + maikling textMga direksyon sa nabigasyon, hakbang
ExpandedHanggang 364×160 ptBuong widget na may nilalamanIskor ng sports, status ng taxi

Compact na estado — ang karaniwang view ng Dynamic Island kapag isang background task ang aktibo. Ipinapakita bilang isang bilog na pill na may icon ng app sa kaliwa at system icon sa kanan. Bilang default, lahat ng Live Activities ay nagsisimula sa compact na estado.

Minimal na estado ay nangyayari kapag dalawa o higit pang mga task ang aktibo nang sabay-sabay. Ang Dynamic Island ay «nahahati» sa dalawang magkahiwalay na elemento sa kaliwa at kanan ng camera. Minimal na estado ay nagpapahintulot sa pagpapakita ng dalawang independiyenteng mapagkukunan ng impormasyon, halimbawa oras ng pagdating ng taxi at kasalukuyang track.

Expanded na estado ay na-activate sa pamamagitan ng mahabang pagpindot sa Dynamic Island. Sa mode na ito, isang buong widget na may nako-customize na nilalaman ang ipinapakita: mga pamagat, paglalarawan, progress bar, mga button. Ang expanded na estado ay sumusuporta sa pag-scroll at mga interactive na elemento.

ActivityKit at Live Activities: Swift API

ActivityKit — Swift framework, na ipinakilala sa iOS 16.1, na nagpapahintulot sa mga app na mag-publish ng Live Activities sa Dynamic Island at Lock Screen. Gumagamit ang ActivityKit ng arkitektura batay sa ActivityView at ActivityAttributes: ang una ay tumutukoy sa uri ng nilalaman, ang pangalawa — sa variable na data. Ang framework ay gumagana kasama ng WidgetKit, ngunit hindi tulad ng mga widget, ang Live Activities ay maaaring mag-update sa real-time nang hindi binubuksan ang app.

swift
import ActivityKit
import SwiftUI

// Tinutukoy ang mga attribute ng aktibidad
struct DeliveryAttributes: ActivityAttributes {
    public struct ContentState: Codable, Hashable {
        var driverName: String
        var distanceToArrival: Double
        var estimatedMinutes: Int
    }
    var orderNumber: String
}

// Sinisimulan ang Live Activity
func startDeliveryActivity() {
    let initialState = DeliveryAttributes.ContentState(
        driverName: "Alexey",
        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 ay ina-update sa pamamagitan ng ActivityView, na nagre-render ng SwiftUI na nilalaman para sa Dynamic Island. Ang sistema mismo ang tumutukoy kung aling template ang gagamitin (compact, minimal o expanded), depende sa laki ng Dynamic Island at bilang ng mga aktibidad. Para i-update ang nilalaman, tawagan ang activity.update(using: contentState). Para tapusin — activity.end(dismissalPolicy: .immediate).

Mga dinamikong notification na may Push updates

Sinusuportahan ng ActivityKit ang push updates sa pamamagitan ng APNs (Apple Push Notification Service). Sa pagsisimula ng Live Activity, maaari kang humiling ng pushToken at magpadala ng mga update mula sa server nang hindi kinakailangang patakbuhin ang app sa device. Ang mga push update ay gumagana sa pamamagitan ng activity.pushToken at Activity.pushToStartToken para sa remote na pagsisimula ng Live Activity.

swift
// Pag-update ng Live Activity sa pamamagitan ng Push
func updateActivity(activity: Activity<DeliveryAttributes>) {
    let updatedState = DeliveryAttributes.ContentState(
        driverName: "Alexey",
        distanceToArrival: 1.2,
        estimatedMinutes: 4
    )
    let alertConfiguration = AlertConfiguration(
        title: "Malapit na ang courier",
        body: "Darating si Alexey sa loob ng 4 na minuto",
        sound: .default
    )
    await activity.update(
        using: updatedState,
        alertConfiguration: alertConfiguration
    )
}

AlertConfiguration — karagdagang parameter na nagpapakita ng notification sa itaas ng Dynamic Island sa mahahalagang update (halimbawa, «Dumating na ang courier»). Kung walang AlertConfiguration, ang nilalaman ay ina-update nang tahimik, na angkop para sa progress bar at timer.

Dynamic Island vs Notch: paghahambing

Notch — hardware zone ng iPhone X–13, na naglalaman ng front camera, Face ID sensor at speaker. Ang notch ay static: ang laki at hugis nito ay hindi nagbabago, at ang mga notification ay ipinapakita sa ilalim nito bilang mga standard banner. Ang Dynamic Island, sa kabaligtaran, ay gumagamit ng mga pixel sa paligid ng notch upang magpakita ng nilalaman, ginagawang bahagi ng interface ang hardware element.

KategoryaDynamic IslandNotch
InteraktibidadSinusuportahan ang pag-tap, mahabang pagpindot, pag-swipeHindi interactive
Pag-aangkop ng nilalamanNagbabago ng hugis ayon sa kontekstoStatic, nilalaman sa ilalim ng notch
Live ActivitiesBuilt-in na suporta sa pamamagitan ng ActivityKitHindi — karaniwang notification lang
MultitaskingDalawang sabay-sabay na aktibidad (kaliwa at kanan)Isang aktibidad lamang
AvailabilityiOS 16.1+, iPhone 14 Pro at mas bagoiOS 11+, iPhone X–13

Ayon sa Apple Human Interface Guidelines (2025), ang Dynamic Island ay hindi dapat gamitin para sa mga ad o patuloy na pagpapakita ng static na nilalaman. Ang Live Activities ay para lamang sa mga background task na may malinaw na siklo ng buhay: timer, delivery, sports, musika, nabigasyon. Ang paglabag sa mga patakarang ito ay nagreresulta sa pagtanggi ng app sa App Store Review.

Siklo ng buhay at mga kilos ng Dynamic Island

Dynamic Island ay may mahigpit na siklo ng buhay: ang aktibidad ay nagsisimula sa isang request sa pamamagitan ng Activity.request(), dumadaan sa mga estadong active/paused/updated at nagtatapos sa pagtawag ng activity.end(). Maaaring puwersahang tapusin ng system ang aktibidad kapag kulang ang memory (halimbawa, kapag sinimulan ang camera). Sa kasong ito, ang app ay tumatanggap ng notification sa pamamagitan ng ActivityActivityState.finished.

Mga kilos Dynamic Island ay pinoproseso ng SwiftUI na nilalaman sa loob ng ActivityView. Mga karaniwang kilos: pag-tap sa compact na estado ay nagbubukas ng app, mahabang pagpindot ay nagbubukas ng expanded na estado, pag-swipe pababa ay nagsasara ng expanded na estado. Ang mga custom na kilos ay idinaragdag sa pamamagitan ng SwiftUI modifiers (onTapGesture, onLongPressGesture) sa loob ng activity view.

Paghawak sa finished na estado

Kapag tinapos ng system ang Live Activity (o tinanggal ito ng user sa pamamagitan ng pag-swipe), dapat hawakan ng app ang finished na estado para maglabas ng mga resources. Inirerekomenda na mag-subscribe sa Activity.activityStateUpdates at tanggalin ang mga lokal na reference sa aktibidad pagkatapos ng pagtatapos.

swift
import ActivityKit

func observeActivityState(activity: Activity<DeliveryAttributes>) {
    Task {
        for await state in activity.activityStateUpdates {
            switch state {
            case .active:
                print("Activity aktibo sa Dynamic Island")
            case .dismissed:
                print("Activity nakatago ng user")
                await activity.end(dismissalPolicy: .immediate)
            case .finished:
                print("Activity tinapos ng system")
                cleanupResources()
            @unknown default:
                break
            }
        }
    }
}

Rekomendasyon ng Apple (WWDC 2024, Session 10146): huwag gamitin ang Dynamic Island para magpakita ng mga status na hindi nangangailangan ng atensyon ng user. Bawat Live Activity ay dapat may malinaw na trigger ng simula at pagtatapos. Para sa background updates na walang UI, gamitin ang Background Tasks, hindi Live Activities.

Mga Madalas Itanong

Sa anong mga iPhone gumagana ang Dynamic Island?

Dynamic Island ay available sa iPhone 14 Pro, 14 Pro Max at lahat ng modelo ng iPhone 15 at iPhone 16 (kabilang ang mga base version). Para sa pag-develop, kinakailangan ang iOS 16.1+ at Xcode 14.1. Sa mas lumang mga modelo (iPhone X–13), ginagamit ang static na notch na hindi sumusuporta sa Live Activities.

Paano naiiba ang Dynamic Island sa karaniwang notification?

Dynamic Island ay nag-iintegrate ng notification sa hardware zone ng screen nang hindi natatakpan ang nilalaman. Ang karaniwang notification ay lumilitaw bilang banner sa itaas at nawawala pagkalipas ng ilang segundo. Ang Live Activities sa Dynamic Island ay maaaring manatiling aktibo nang maraming oras at mag-update sa real-time (status ng delivery, timer, musika).

Paano i-update ang nilalaman sa Dynamic Island nang hindi binubuksan ang app?

Gumamit ng push updates sa pamamagitan ng APNs. Sa pagsisimula ng Live Activity, tawagan ang activity.pushToken at ipadala ang token sa iyong server. Ang server ay nagpapadala ng update request sa pamamagitan ng APNs na may bagong ContentState. Alternatibo — lokal na update sa pamamagitan ng activity.update(using:) mula sa app mismo.

Paano magpakita ng dalawang aktibidad nang sabay-sabay sa Dynamic Island?

Awtomatikong hinahati ng iOS ang Dynamic Island sa dalawang segment kapag may dalawang aktibong Live Activities. Bawat aktibidad ay ipinapakita sa minimal na estado sa kaliwa at kanan ng camera. Sa mahabang pagpindot sa isa sa mga segment, magbubukas ang expanded na estado ng app na iyon lamang.

Bakit hindi lumalabas ang Live Activity ko sa Dynamic Island?

Suriin: (1) ang app ay may NSSupportsLiveActivities = YES sa Info.plist, (2) ang ActivityAttributes at ContentState ay nag-implement ng Codable at Hashable, (3) iOS version 16.1+, (4) ang device ay sumusuporta sa Dynamic Island. Para sa simulator, gumamit ng iPhone 14 Pro o mas bago sa Xcode.

Buod

  • Dynamic Island — interactive na zone ng iPhone 14 Pro+ na pumapalit sa static na notch.
  • Sinusuportahan ang tatlong estado: compact, minimal at expanded na may maayos na transition animation.
  • ActivityKit — Swift framework para mag-publish ng Live Activities sa Dynamic Island at Lock Screen.
  • Ang Live Activities ay ina-update sa pamamagitan ng local calls o push notification sa pamamagitan ng APNs.
  • Mga kilos: pag-tap para pumunta sa app, mahabang pagpindot para palawakin ang panel, pag-swipe para isara.
  • Sinusuportahan ng Dynamic Island ang hanggang dalawang sabay-sabay na aktibidad na may paghahati sa segment.
  • Nililimitahan ng Apple ang paggamit ng Live Activities sa mga background task lamang na may malinaw na time frame.

Gagawa kami ng mobile application na turnkey

Gumagawa ang IT Sectr ng mga iOS at Android application para sa mga startup at negosyo mula noong 2017. Magpapayo kami sa iyo at magmumungkahi ng pinakamahusay na solusyon.

Pag-usapan ang proyekto

Basahin din