macOS'teki web uygulamaları için yerel bildirim ilişkilendirmesi

Marijn Kruisselbrink
Marijn Kruisselbrink
Dan Murphy
Dan Murphy

Yayınlanma tarihi: 16 Temmuz 2026

Chrome 152'den itibaren macOS'e yüklenen progresif web uygulamalarının (PWA) bildirimleri, Google Chrome yerine doğrudan PWA'ya atfedilecek.

Bu, kullanıcı deneyiminde önemli bir iyileşmedir ve web uygulamalarının macOS'e daha entegre görünmesini sağlar. Ancak bu sürüm, bildirim izinlerinin işlenme şekli ve belirli bildirim API'lerinin davranış biçimiyle ilgili önemli değişiklikler de getiriyor.

Neler değişiyor?

Daha önce, PWA'lar tarafından gönderilen tüm bildirimler işletim sistemi düzeyinde Chrome'a atfediliyordu. macOS Bildirim Merkezi'nde "Google Chrome" altında görünürlerdi ve Chrome simgesini kullanırlardı. Kullanıcıların bildirimleri devre dışı bırakmak için macOS Sistem Ayarları'nı değil, Chrome'daki kontrolleri kullanması gerekiyordu.

Bildirim ilişkilendirme özelliği sayesinde, bir site PWA olarak yüklendiğinde macOS, bildirimler için bu siteyi ayrı bir uygulama olarak değerlendirir. Bu durum hem yeni yüklenen PWA'lar hem de kullanıcının daha önce yüklediği PWA'lar için geçerlidir.

Avantajları

  • Marka kimliği: Bildirimlerde, macOS Bildirim Merkezi'nde ve banner'larda PWA'nın kendi adı ve simgesi gösterilir.
  • Bilinen kullanıcı kontrolleri: Bu uygulamaların bildirim kontrolleri artık tam olarak kullanıcıların beklediği yerde, yani macOS Sistem Ayarları'nda (Chrome'da değil) gösteriliyor.
  • Ayrıntılı kontrol: Kullanıcılar, tek tek PWA uygulaması bildirim ayarlarını (ör. uyarı stilleri, kilit ekranı davranışı) yönetebilir.
  • Odaklanma modları: PWA'lar, macOS'teki odaklanma profillerinde (Rahatsız Etmeyin) ayrı ayrı izin verilebilir veya sessize alınabilir.
Chrome simgesiyle birlikte "Google Chrome"a atfedilir.
Önce: Chrome simgesiyle "Google Chrome"a atfediliyordu.
PWA 'nın özel simgesiyle birlikte "PWA Adı"na atfedilir.
Sonra: PWA'nın özel simgesiyle"PWA Adı"na atfedilir.

Yeni izin akışı

macOS artık PWA'yı ayrı bir uygulama olarak değerlendirdiğinden, PWA'nın bildirimleri gösterebilmesi için işletim sistemi düzeyinde bildirim izni alması gerekir. Bu işlem, hem yeni hem de mevcut kullanıcılar için izin akışını değiştirir.

Yeni kullanıcılar (ilk kez izin isteğinde bulunma)

Bir kullanıcı PWA yüklerse ve site, yükleme işleminden sonra bildirim izni isterse:

  1. Chrome, tarayıcı düzeyindeki izin istemini atlar (adres çubuğundaki açılır liste).
  2. Chrome, PWA için macOS sistem izni istemini hemen tetikler.
macOS sistem izni iletişim kutusu: PWA Name size bildirim göndermek istiyor. Bildirimler; uyarılar, sesler ve simge rozetlerinin yanı sıra İzin verme ve İzin ver düğmelerini içerebilir.
Yüklü PWA için macOS sistem izni iletişim kutusu.
PWA izin sürecini gösteren akış şeması. "PWA Requests Permission" (PWA İzin İstiyor) ile başlar ve "Installed?" (Yüklendi mi?) kararıyla sonuçlanır. "Evet" ise Chrome istemi atlanır ve macOS sistem istemi gösterilir. "Hayır" ise Chrome tarayıcı istemi gösterilir, kullanıcı PWA'yı yükler ve ardından macOS sistem istemi gösterilir.
PWA bildirim izni sürecinin akış şeması.

Mevcut kullanıcılar (taşıma yolu)

Bir kullanıcı Chrome'da web sitenize bildirim izni verdiyse ve ardından PWA'yı yüklediyse (veya daha önce yüklediyse) PWA'ya işletim sistemi düzeyinde izin vermesi gerekir.

Bu geçişi olabildiğince sorunsuz hale getirmek için:

  1. PWA ilk kez bildirim göndermeye çalıştığında macOS, sistem izni istemini gösterir.
  2. Kullanıcı onaylarsa bildirimler sorunsuz şekilde çalışmaya devam eder.
  3. Kullanıcı bu istemi yoksayar veya kapatırsa PWA, izinleri manuel olarak etkinleştirmek için kullanıcıyı macOS Sistem Ayarları'na yönlendiren bir uygulama içi gösterge (genellikle uygulamanın başlık çubuğunda veya menüsünde) gösterir.
Yüklü PWA'lar için, kullanıcıyı Mac Sistem Ayarları'nda bildirimlerin kapalı olduğu konusunda bilgilendiren ve oraya gitmek için bir düğme içeren istem.
Kullanıcıyı macOS Sistem Ayarları'na yönlendiren PWA'daki uygulama içi istem.
Bildirimleri etkinleştirme veya devre dışı bırakma seçeneğinin bulunduğu uygulama ayarları ve bildirimleri etkinleştirmek için Sistem Ayarları'na yönlendiren bir işaretçi.
macOS Sistem Ayarları'nı açma göstergesiyle Chrome'daki uygulama ayarları.
Kullanıcıyı Mac Sistem Ayarları'nda bildirimlerin kapalı olduğu konusunda uyaran ve oraya gitmek için bir düğme içeren tarayıcı içi uygulama istemi.
Kullanıcıyı macOS Sistem Ayarları'na yönlendiren tarayıcı içi istem.

Geliştirici etkisi: macOS'te requireInteraction desteğinin sonlandırılması

macOS'te, bir bildirimin kullanıcı tarafından kapatılana kadar ekranda kalıp kalmayacağı ("Kalıcı") veya otomatik olarak kaybolup kaybolmayacağı ("Geçici"), macOS Sistem Ayarları'nda kullanıcı tarafından kontrol edilen, uygulama bazında bir ayardır.

Bu işletim sistemi tasarımı nedeniyle, ilişkilendirme etkin olduğunda Chrome artık macOS'teki Notification API'de requireInteraction seçeneğine uymayacak.

Bu durum kodunuz için ne anlama geliyor?

Uygulamanız, önemli bildirimleri ekranda tutmak için requireInteraction: true özelliğini kullanıyorsa bu özellik macOS'te artık garanti edilmeyecektir. Bunun yerine şunları yapmalısınız:

  • Uygulamanızı, bildirimlerin geçici (Temporary) olabileceğini varsayarak tasarlayın.
  • Sürekli bildirimlere ihtiyaç duyan kullanıcıları, PWA'nın bildirim uyarı stilini System Settings > Notifications > [Your PWA] bölümünde "Kalıcı" olarak yapılandırmaya teşvik edin.
macOS Sistem Ayarları'nda, Geçici ve Kalıcı seçeneklerini gösteren Uyarı stili ayarı vurgulanıyor.
Uyarı stili ayarını (Geçici ve Kalıcı) gösteren PWA için macOS Sistem Ayarları.

Geliştiriciler üzerindeki etkisi: App Badging API için bildirim izni gerekiyor

Uygulama rozeti API'si, web uygulamalarının uygulama simgelerine rozet eklemesine (örneğin, okunmamış mesaj sayısını gösterme) olanak tanır. macOS'te uygulama simgesi rozetleri teknik olarak uygulamanın bildirim ayarlarına bağlıdır. Çünkü PWA artık kendi yerel bildirim kimliğine sahip:

  • İzin gerekli: Rozetin Dock simgesinde görünmesi için PWA'da işletim sistemi düzeyinde bildirim izni etkinleştirilmelidir. Bu, macOS platform standartlarıyla uyumludur ve Safari'nin web uygulamaları için Badging API'yi ele alma şekliyle eşleşir.
  • Sessiz hata: Kullanıcı, System Settings > Notifications > [Your PWA] içinde "Uygulama simgesinde rozet"i devre dışı bırakırsa veya bildirim iznini tamamen reddederse navigator.setAppBadge() çağrıları JavaScript'te (hata vermeden) başarılı olmaya devam eder ancak Dock'ta rozet gösterilmez. Uygulamanız rozet özelliğini kullanıyorsa rozetin gösterilebilmesi için bildirim izni isteyin.

Kurumsal yönetim üzerindeki etki

macOS cihazları yöneten ve bildirim izinlerini önceden vermek isteyen kurumsal yöneticiler için:

  1. Chrome politikası: PWA'nın kaynağına izin vermek için Chrome politikasını (NotificationsAllowedForUrls) yapılandırmanız gerekir.
  2. macOS Politikası: Ayrıca, PWA'nın paket tanımlayıcısına (App Shim) bildirim izinlerini önceden vermek için artık bir macOS yapılandırma profili (MDM) dağıtmanız gerekir.

Bu iki politika uygulanmadığı sürece kullanıcılara işletim sistemi düzeyinde istemler gösterilmeye devam eder.

Geliştiriciler için en iyi uygulamalar

  1. İzin durumunu kontrol edin: Bildirim göndermeden önce her zaman Notification.permission simgesini kontrol edin.
  2. Bağlama dayalı istemler: İznin web düzeyinde verildiğini ancak bildirimlerin görünmediğini tespit ederseniz (işletim sistemi düzeyindeki izin iptal edilmişse bu durum oluşabilir) kullanıcıyı macOS Sistem Ayarları'na yönlendirin.
  3. Geçici bildirimlere hazırlanın: macOS'teki kritik kullanıcı akışlarında requireInteraction kullanmayın.