Zengin bildirimler API'sı

Platform farkı: Chrome'un 59. sürümünde bildirimler, Mac OS X kullanıcıları için farklı şekilde görünür. Kullanıcılar, Chrome'un kendi bildirimleri yerine yerel Mac OS X bildirimlerini görür. Bu makaleden daha fazla bilgi edinin.

Zengin bildirimler API'si, şablonları kullanarak bildirimler oluşturmanıza ve bu bildirimleri kullanıcının sistem tepsisinde göstermenize olanak tanır:

Sistem kullanıcı tepsisindeki bildirimler

Görünüm

Zengin bildirimler dört farklı türde gelir: temel, resim, liste ve ilerleme. Tüm bildirimler bir başlık, mesaj, bildirim mesajının solunda görüntülenen küçük bir simge ve daha açık renkli bir yazı tipiyle 3. metin alanı olarak görüntülenen bir contextMessage alanı içerir.

Temel bir resim:

Temel bildirim

Liste bildirimlerinde herhangi bir sayıda liste öğesi gösterilir:

Liste bildirimi

Resim bildirimlerinde resim önizlemesi bulunur:

Resim bildirimi

İlerleme durumu bildirimlerinde ilerleme çubuğu gösterilir:

İlerleme durumu bildirimi

Nasıl davrandıkları

ChromeOS'te bildirimler, kullanıcının sistem tepsisinde gösterilir ve kullanıcı kapatana kadar sistem tepsisinde kalır. Sistem tepsisinde tüm yeni bildirimlerin sayısı gösterilir. Kullanıcı sistem tepsisindeki bildirimleri gördüğünde sayı sıfıra sıfırlanır.

Bildirimlere -2 ile 2 arasında bir öncelik atanabilir. Öncelik değeri 0'dan küçük olan bildirimler ChromeOS bildirim merkezinde gösterilir ve diğer platformlarda hataya neden olur. Varsayılan öncelik 0'dır. Öncelik > 0 olan bildirimler daha uzun süre gösterilir ve sistem tepsisinde daha fazla yüksek öncelikli bildirim görüntülenebilir.

Tüm bildirim türleri, bilgi göstermenin yanı sıra en fazla iki işlem öğesi içerebilir. Kullanıcılar bir işlem öğesini tıkladığında uygulamanız uygun işlemle yanıt verebilir. Örneğin, kullanıcı "Yanıtla"yı tıkladığında e-posta uygulaması açılır ve kullanıcı yanıtı tamamlayabilir:

Bildirimdeki işlem

Nasıl geliştirilir?

Bu API'yi kullanmak için notifications.create yöntemini çağırın ve bildirim ayrıntılarını options parametresiyle iletin:

chrome.notifications.create(id, options, creationCallback);

notifications.NotificationOptions, notifications.TemplateType içermelidir. Bu tür, kullanılabilir bildirim ayrıntılarını ve bu ayrıntıların nasıl görüntüleneceğini tanımlar.

Temel bildirim oluşturma

Tüm şablon türleri (basic, image, list ve progress) title ve message bildiriminin yanı sıra iconUrl bildirimini de içermelidir. iconUrl, bildirim mesajının solunda gösterilen küçük bir simgeye yönlendiren bağlantıdır.

basic şablonu örneğini aşağıda görebilirsiniz:

var opt = {
  type: "basic",
  title: "Primary Title",
  message: "Primary message to display",
  iconUrl: "url_to_small_icon"
}

Resim bildirimi oluşturma

image şablon türü, bildirimde önizlenen bir resmin bağlantısı olan imageUrl öğesini de içerir:

Platform farkı: Mac OS X'te Chrome'un 59 ve sonraki sürümlerini kullanan kullanıcılara resimler gösterilmez.
var opt = {
  type: "basic",
  title: "Primary Title",
  message: "Primary message to display",
  iconUrl: "url_to_small_icon",
  imageUrl: "url_to_preview_image"
}

Chrome Uygulamalarında, katı bir İçerik Güvenliği Politikası nedeniyle bu URL'ler yerel bir kaynağa işaret etmeli veya büyük ikili nesne ya da veri URL'si kullanmalıdır. Resminiz için 3:2 oranını kullanın. Aksi takdirde, resmin etrafında siyah bir kenarlık görünür.

Liste bildirimi oluşturma

list şablonu, items öğesini liste biçiminde gösterir:

Platform farkı: Mac OS X'te Chrome 59 ve sonraki sürümlerinde kullanıcılara yalnızca ilk liste öğesi gösterilir.
var opt = {
  type: "list",
  title: "Primary Title",
  message: "Primary message to display",
  iconUrl: "url_to_small_icon",
  items: [{ title: "Item1", message: "This is item 1."},
          { title: "Item2", message: "This is item 2."},
          { title: "Item3", message: "This is item 3."}]
}

İlerleme durumu bildirimi oluşturma

progress şablonunda, mevcut ilerleme durumunun 0 ile 100 arasında değiştiği bir ilerleme çubuğu gösterilir:

Platform farkı: Mac OS X'teki Chrome 59 ve sonraki sürümlerde ilerleme çubuğu, ilerleme çubuğu olarak gösterilmek yerine bildirimin başlığında yüzde değeri olarak gösterilir.
var opt = {
  type: "progress",
  title: "Primary Title",
  message: "Primary message to display",
  iconUrl: "url_to_small_icon",
  progress: 42
}

Etkinlikleri dinleme ve yanıtlama

Tüm bildirimler, kullanıcı işlemlerine yanıt veren etkinlik dinleyicileri ve etkinlik işleyicileri içerebilir (bkz. chrome.events). Örneğin, notifications.onButtonClicked etkinliğine yanıt vermek için bir etkinlik işleyici yazabilirsiniz.

Etkinlik işleyici:

chrome.notifications.onButtonClicked.addListener(replyBtnClick);

Etkinlik işleyici:

function replyBtnClick {
    //Write function to respond to user action.
}

Uygulama veya uzantı çalışmıyorken bile bildirimlerin açılabilmesi için etkinlik işleyicileri ve işleyicileri etkinlik sayfasına eklemeyi düşünebilirsiniz.