Zengin bildirimler API'sı

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

rich notifications API'si ile şablonlar kullanarak bildirimler oluşturabilir ve bunları gösterebilirsiniz. kullanıcının sistem tepsisinde kullanıcılara bildirim gönder:

Sistem kullanıcı tepsisindeki bildirimler

Nasıl görünürler?

Zengin bildirimler dört farklı biçimde sunulur: temel, resim, liste ve ilerleme durumu. Tümü bildirimlerde bir başlık, mesaj, bildirimin sol tarafında görüntülenen küçük bir simge iletisi ve daha açık renkli yazı tipiyle 3. metin alanı olarak görüntülenen bircontextMessage alanıdır.

Temel bir resim:

Temel bildirim

Liste bildirimleri, istediğiniz sayıda liste öğesi görüntüler:

Liste bildirimi

Resim bildirimlerinde bir resim önizlemesi bulunur:

Resim bildirimi

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

İlerleme bildirimi

Nasıl davrandıkları

ChromeOS'te, bildirimler kullanıcının sistem tepsisinde görünür ve bildirim görünene kadar sistem tepsisinde kalır. kullanıcı bunları kapatır. Sistem tepsisi, tüm yeni bildirimlerin sayısını tutar. Kullanıcılar bildirim alırsa sayı sıfırlanır.

Bildirimlere -2 ile 2 arasında bir öncelik atanabilir. Öncelikler < 0 ChromeOS'te gösterilir yapabilir ve diğer platformlarda hata oluşturabilir. Öncelik 0, varsayılan önceliktir. Öncelikler > 0, artan süre için gösterilir ve daha fazla yüksek öncelikli bildirim görüntülenir.

Tüm bildirim türleri, bilgilerin görüntülenmesinin 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:

Bildirimde işlem

Bunlar nasıl geliştirilir?

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

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

notifications.NotificationOptions, bildirimi görüntüleyen bir notifications.TemplateType içermelidir. mevcut bildirim ayrıntılarını ve bu ayrıntıların nasıl görüntüleneceğini tanımlar.

Temel bildirim oluştur

Tüm şablon türleri (basic, image, list ve progress) bir bildirim içermelidir title ve message ve bu reklamın sol tarafında küçük bir simgenin bağlantısı olan iconUrl bildirim mesajı.

Aşağıda bir basic şablonu örneği verilmiştir:

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

Resim bildirimi oluştur

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

Platform farkı: Resimler, Mac OS X'te Chrome 59 ve sonraki sürümleri kullanan kullanıcılara 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ı uyarınca bu URL'ler yerel bir bir blob veya veri URL'si kullanın. Resminiz için 3:2 en boy oranını kullanın; yoksa siyah kenarlık resmi çerçeveler.

Liste bildirimi oluştur

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

Platform farkı: Mac OS X'te, Chrome 59 ve sonraki sürümlerini çalıştıran 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 bildirimi oluştur

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

Platform farkı: Mac OS X'teki Chrome 59 ve sonraki sürümlerde, ilerleme çubuğu ilerleme çubuğu yerine bildirimin başlığında bir yüzde değeri olarak görüntülenir.
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 işleyicileri ve etkinlik işleyicileri içerebilir (bkz. chrome.events). Örneğin, belirli bir etkinlik URL'sine yanıt vermek için notifications.onButtonClicked etkinliğidir.

Etkinlik işleyici:

chrome.notifications.onButtonClicked.addListener(replyBtnClick);

Etkinlik işleyici:

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

Etkinlik sayfasına etkinlik işleyiciler ve işleyiciler eklemeyi düşünebilirsiniz. Böylece bildirimler, Uygulama veya uzantı çalışmıyorken bile pop-up pencere açılabilir.