Dynamic Island: apa itu, interaksi dengan Dynamic Island

Penulis: IT Sectr Diterbitkan: 2026-02-28 Waktu membaca: 9 mnt

Dynamic Island — area interaktif di bagian atas iPhone 14 Pro dan semua iPhone 15/16, yang menggabungkan notifikasi, aktivitas latar belakang, dan indikator sistem dalam satu zona dinamis. Berbeda dengan potongan tradisional (notch), Dynamic Island mengubah bentuk dan ukurannya tergantung pada konteks saat ini. Menurut data Apple (WWDC 2024), pengguna berinteraksi dengan Dynamic Island rata-rata 12 kali sehari — melalui sentuhan, tekan lama, dan Live Activities dengan ActivityKit. Baca lebih lanjut tentang animasi di iOS di artikel tentang Corner Radius.

Poin Utama

  • Dynamic Island — solusi perangkat lunak-perangkat keras Apple yang menggantikan potongan dengan zona interaktif dengan geometri yang dapat berubah.
  • Live Activities — widget di Dynamic Island yang bekerja melalui framework ActivityKit (iOS 16.1+).
  • Tiga keadaan: ringkas (ikon), minimal (pil), diperluas (panel dengan konten).
  • ActivityKit — framework Swift untuk mempublikasikan Live Activities di Dynamic Island dan Lock Screen.
  • Dynamic Island mendukung gestur: sentuh untuk membuka aplikasi, tekan lama untuk membuka panel.

Apa itu Dynamic Island?

Dynamic Island — adalah area interaktif berdasarkan solusi perangkat lunak-perangkat keras Apple, diperkenalkan pada September 2022 bersama iPhone 14 Pro. Secara fisik, ini adalah potongan berbentuk pil yang dikelilingi oleh piksel OLED yang secara dinamis mengubah warna dan bentuk. Apple menggunakan kombinasi kompartemen perangkat keras untuk kamera dan Face ID dengan rendering perangkat lunak area hitam di sekitarnya, menciptakan ilusi «pulau» hidup.

Tujuan utama Dynamic Island adalah untuk menjembatani kesenjangan antara notifikasi sistem dan konten aktif. Alih-alih notifikasi muncul di tengah layar (seperti di Android) atau sebagai spanduk di atas (seperti di iOS yang lebih lama), Dynamic Island mengintegrasikannya langsung ke area perangkat keras. Ini mengurangi gangguan dan menciptakan kesan ruang yang menyatu.

Menurut data Apple (iOS 17 Adoption Statistics, 2024), Dynamic Island tersedia di 38% iPhone aktif. Mulai dari iPhone 15 (2023), semua model dalam seri mendapatkan Dynamic Island, termasuk model dasar. Di iOS 18, Apple memperluas API Live Activities dengan menambahkan dukungan untuk timer hitung mundur dan hasil olahraga langsung di Dynamic Island.

Model mana yang mendukung Dynamic Island

Dynamic Island tersedia di 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. Di iPad, Dynamic Island tidak ada. Untuk pengembangan dengan Dynamic Island diperlukan Xcode 14.1+ dan iOS 16.1+.

Cara kerja Dynamic Island: tiga keadaan

Dynamic Island mendukung tiga keadaan tampilan: ringkas (compact), minimal (minimal), dan diperluas (expanded). Transisi antar keadaan dianimasikan menggunakan animasi UIKit dan Core Animation. Sistem itu sendiri mengelola prioritas aktivitas: jika beberapa aplikasi mencoba menampilkan konten secara bersamaan, iOS menggunakan antrian berdasarkan waktu mulai aktivitas terakhir.

KeadaanUkuranKontenContoh
Compact49×18 ptIkon aplikasi + ikon sistemTimer, musik, panggilan
MinimalHingga 66×18 ptIkon + teks pendekPetunjuk navigasi, langkah
ExpandedHingga 364×160 ptWidget lengkap dengan kontenSkor olahraga, status taksi

Keadaan ringkas — tampilan standar Dynamic Island ketika satu tugas latar belakang aktif. Ditampilkan sebagai pil bulat dengan ikon aplikasi di kiri dan ikon sistem di kanan. Secara default, semua Live Activities dimulai dalam keadaan ringkas.

Keadaan minimal terjadi ketika dua atau lebih tugas aktif secara bersamaan. Dynamic Island «terbelah» menjadi dua elemen terpisah di kiri dan kanan kamera. Keadaan minimal memungkinkan menampilkan dua sumber informasi independen, misalnya waktu kedatangan taksi dan trek saat ini.

Keadaan diperluas diaktifkan dengan tekan lama pada Dynamic Island. Dalam mode ini, widget lengkap dengan konten yang dapat disesuaikan ditampilkan: judul, deskripsi, bilah kemajuan, tombol. Keadaan diperluas mendukung pengguliran dan elemen interaktif.

ActivityKit dan Live Activities: Swift API

ActivityKit — framework Swift, diperkenalkan di iOS 16.1, yang memungkinkan aplikasi mempublikasikan Live Activities di Dynamic Island dan Lock Screen. ActivityKit menggunakan arsitektur berbasis ActivityView dan ActivityAttributes: yang pertama menentukan jenis konten, yang kedua — data variabel. Framework bekerja bersama WidgetKit, tetapi tidak seperti widget, Live Activities dapat diperbarui secara real-time tanpa membuka aplikasi.

swift
import ActivityKit
import SwiftUI

// Menentukan atribut aktivitas
struct DeliveryAttributes: ActivityAttributes {
    public struct ContentState: Codable, Hashable {
        var driverName: String
        var distanceToArrival: Double
        var estimatedMinutes: Int
    }
    var orderNumber: String
}

// Memulai 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 diperbarui melalui ActivityView, yang merender konten SwiftUI untuk Dynamic Island. Sistem sendiri menentukan template mana yang akan digunakan (ringkas, minimal, atau diperluas), tergantung pada ukuran Dynamic Island dan jumlah aktivitas. Untuk memperbarui konten, panggil activity.update(using: contentState). Untuk mengakhiri — activity.end(dismissalPolicy: .immediate).

Notifikasi dinamis dengan pembaruan Push

ActivityKit mendukung pembaruan push melalui APNs (Apple Push Notification Service). Saat memulai Live Activity, Anda dapat meminta pushToken dan mengirim pembaruan dari server tanpa perlu menjalankan aplikasi di perangkat. Pembaruan push bekerja melalui activity.pushToken dan Activity.pushToStartToken untuk memulai Live Activity dari jarak jauh.

swift
// Memperbarui Live Activity melalui Push
func updateActivity(activity: Activity<DeliveryAttributes>) {
    let updatedState = DeliveryAttributes.ContentState(
        driverName: "Alexey",
        distanceToArrival: 1.2,
        estimatedMinutes: 4
    )
    let alertConfiguration = AlertConfiguration(
        title: "Kurier sudah dekat",
        body: "Alexey akan tiba dalam 4 menit",
        sound: .default
    )
    await activity.update(
        using: updatedState,
        alertConfiguration: alertConfiguration
    )
}

AlertConfiguration — parameter tambahan yang menampilkan notifikasi di atas Dynamic Island pada pembaruan penting (misalnya, «Kurir tiba»). Tanpa AlertConfiguration, konten diperbarui secara diam-diam, yang cocok untuk bilah kemajuan dan timer.

Dynamic Island vs Notch: perbandingan

Notch (potongan) — area perangkat keras iPhone X–13, yang berisi kamera depan, sensor Face ID, dan speaker. Notch bersifat statis: ukuran dan bentuknya tidak berubah, dan notifikasi ditampilkan di bawahnya dalam bentuk spanduk standar. Dynamic Island, sebaliknya, menggunakan piksel di sekitar potongan untuk menampilkan konten, menjadikan elemen perangkat keras sebagai bagian dari antarmuka.

KriteriaDynamic IslandNotch
InteraktivitasMendukung sentuhan, tekan lama, gesekanTidak interaktif
Adaptasi kontenMengubah bentuk sesuai konteksStatis, konten di bawah potongan
Live ActivitiesDukungan bawaan melalui ActivityKitTidak — hanya notifikasi biasa
MultitaskingDua aktivitas simultan (kiri dan kanan)Hanya satu aktivitas
KetersediaaniOS 16.1+, iPhone 14 Pro dan lebih baruiOS 11+, iPhone X–13

Menurut Apple Human Interface Guidelines (2025), Dynamic Island tidak boleh digunakan untuk iklan atau menampilkan konten statis secara terus-menerus. Live Activities hanya ditujukan untuk tugas latar belakang dengan siklus hidup yang jelas: timer, pengiriman, olahraga, musik, navigasi. Pelanggaran aturan ini menyebabkan penolakan aplikasi di App Store Review.

Siklus hidup dan gestur Dynamic Island

Dynamic Island memiliki siklus hidup yang ketat: aktivitas dimulai dengan permintaan melalui Activity.request(), melewati keadaan aktif/dijeda/diperbarui dan berakhir dengan panggilan activity.end(). Sistem dapat memaksa mengakhiri aktivitas saat kehabisan memori (misalnya, saat memulai kamera). Dalam hal ini, aplikasi menerima notifikasi melalui ActivityActivityState.finished.

Gestur Dynamic Island diproses oleh konten SwiftUI di dalam ActivityView. Gestur standar: sentuh pada keadaan ringkas membuka aplikasi, tekan lama membuka keadaan diperluas, gesek ke bawah menutup keadaan diperluas. Gestur kustom ditambahkan melalui pengubah SwiftUI (onTapGesture, onLongPressGesture) di dalam tampilan aktivitas.

Penanganan keadaan finished

Ketika sistem mengakhiri Live Activity (atau pengguna menghapusnya dengan menggesek), aplikasi harus menangani keadaan finished untuk membebaskan sumber daya. Disarankan untuk berlangganan Activity.activityStateUpdates dan menghapus referensi lokal ke aktivitas setelah selesai.

swift
import ActivityKit

func observeActivityState(activity: Activity<DeliveryAttributes>) {
    Task {
        for await state in activity.activityStateUpdates {
            switch state {
            case .active:
                print("Activity aktif di Dynamic Island")
            case .dismissed:
                print("Activity disembunyikan oleh pengguna")
                await activity.end(dismissalPolicy: .immediate)
            case .finished:
                print("Activity diakhiri oleh sistem")
                cleanupResources()
            @unknown default:
                break
            }
        }
    }
}

Rekomendasi Apple (WWDC 2024, Session 10146): jangan gunakan Dynamic Island untuk menampilkan status yang tidak memerlukan perhatian pengguna. Setiap Live Activity harus memiliki pemicu awal dan akhir yang jelas. Untuk pembaruan latar belakang tanpa UI, gunakan Background Tasks, bukan Live Activities.

Pertanyaan yang Sering Diajukan

Di iPhone mana Dynamic Island berfungsi?

Dynamic Island tersedia di iPhone 14 Pro, 14 Pro Max dan semua model iPhone 15 dan iPhone 16 (termasuk versi dasar). Untuk pengembangan diperlukan iOS 16.1+ dan Xcode 14.1. Pada model yang lebih lama (iPhone X–13) digunakan potongan statis notch, yang tidak mendukung Live Activities.

Apa perbedaan Dynamic Island dengan notifikasi biasa?

Dynamic Island mengintegrasikan notifikasi ke area perangkat keras layar tanpa menutupi konten. Notifikasi biasa muncul sebagai spanduk di atas dan menghilang setelah beberapa detik. Live Activities di Dynamic Island dapat tetap aktif selama berjam-jam dan diperbarui secara real-time (status pengiriman, timer, musik).

Bagaimana cara memperbarui konten di Dynamic Island tanpa membuka aplikasi?

Gunakan pembaruan push melalui APNs. Saat memulai Live Activity, panggil activity.pushToken dan kirim token ke server Anda. Server mengirim permintaan pembaruan melalui APNs dengan ContentState baru. Alternatif — pembaruan lokal melalui activity.update(using:) dari aplikasi itu sendiri.

Bagaimana cara menampilkan dua aktivitas secara bersamaan di Dynamic Island?

iOS secara otomatis membagi Dynamic Island menjadi dua segmen ketika ada dua Live Activities aktif. Setiap aktivitas ditampilkan dalam keadaan minimal di kiri dan kanan kamera. Dengan tekan lama pada salah satu segmen, keadaan diperluas hanya untuk aplikasi itu yang terbuka.

Mengapa Live Activity saya tidak muncul di Dynamic Island?

Periksa: (1) aplikasi memiliki NSSupportsLiveActivities = YES di Info.plist, (2) ActivityAttributes dan ContentState mengimplementasikan Codable dan Hashable, (3) versi iOS 16.1+, (4) perangkat mendukung Dynamic Island. Untuk simulator, gunakan iPhone 14 Pro atau lebih baru di Xcode.

Kesimpulan

  • Dynamic Island — zona interaktif iPhone 14 Pro+ yang menggantikan notch statis.
  • Mendukung tiga keadaan: ringkas, minimal, dan diperluas dengan animasi transisi yang halus.
  • ActivityKit — framework Swift untuk mempublikasikan Live Activities di Dynamic Island dan Lock Screen.
  • Live Activities diperbarui melalui panggilan lokal atau notifikasi push melalui APNs.
  • Gestur: sentuh untuk pergi ke aplikasi, tekan lama untuk membuka panel, gesek untuk menutup.
  • Dynamic Island mendukung hingga dua aktivitas simultan dengan pembagian segmen.
  • Apple membatasi penggunaan Live Activities hanya untuk tugas latar belakang dengan kerangka waktu yang jelas.

Kami akan mengembangkan aplikasi seluler turnkey

IT Sectr membuat aplikasi iOS dan Android untuk startup dan bisnis sejak 2017. Kami akan memberi saran dan mengusulkan solusi terbaik.

Diskusikan proyek

Baca juga