Toast | Engin Polat\'ın Windows 8 , Windows Phone 8 ve C# içerikli programcılık sitesi

Arşiv

Etiketlenen yazılar toast

Windows 8 uygulamasında Toast Notification göstermek

19 November 2014 Yorum yapılmamış

Windows 8 için geliştirdiğiniz uygulamada kolayca toast notification gösterebilmek için yapmanız gerekenler aslında çok basit.

Öncelikle Windows.UI.Notifications namespace‘inde yer alan ToastNotificationManager sınıfının static olan GetTemplateContent() method’unu ToastTemplateType enum‘ından bir değer ile çağırıyoruz ve geri dönen XmlDocument tipindeki cevabı bir değişkende saklıyoruz;

var template = ToastNotificationManager.GetTemplateContent(ToastTemplateType.ToastText01);

GetTemplateContent() methodunu ToastTemplateType.ToastText01 parametresi ile çağırdığımızda aşağıdaki cevabı alıyoruz;

<toast>
	<visual>
		<binding template="ToastText01">
			<text id="1"></text>
		</binding>  
	</visual>
</toast>

text isimli element’i bulup, içine toast notification‘da göstermek istediğimiz metni yazıyoruz;

var elements = template.GetElementsByTagName("text");
elements[0].AppendChild(template.CreateTextNode("çok önemli mesaj!"));

Artık yapmamız gereken elimizdeki template değişkenini kullanarak yeni bir ToastNotification nesnesi oluşturmak;

var toast = new ToastNotification(template);

Son olarak ToastNotificationManager sınıfının static CreateToastNotifier() methodunu ve gene static olan Show() methodunu çağırmamız yeterli;

ToastNotificationManager.CreateToastNotifier().Show(toast);

ToastTemplateType enum‘ının diğer değerleri ve metin dışında resim de içerebilen template’lerinin listesi için MSDN‘deki The toast template catalog sayfasına bakabilirsiniz.

Windows 8 Uygulamalarda Toast Notification Kullanımı

13 December 2012 1 yorum

Windows 8 uygulaması geliştirirken kullanıcıyı bilgilendirmek isteyebiliriz. Kullanıcıya sadece bilgi vermek için MessageDialog kullanmak doğru olmayacaktır, kullanıcı bir süre sonra rahatsızlık duymaya başlayacak ve belkide uygulamayı kullanmaktan vazgeçecektir.

Kullanıcıyı bilgilendirmenin daha doğru yolu Toast Notification sistemini kullanmaktır.

Toast Notification sistemini kullanırken dikkat etmemiz gereken ToastTemplateType enum yapısıdır.

MSDN‘de yer alan ToastTemplateType enumeration sayfasından hangi tiplerde toast notification gösterebileceğinizi öğrenebilirsiniz.

using kısmına

Windows.UI.Notifications

eklemeliyiz. Örnek kullanım;

public static void ShowNotification(string Title, string Message)
{
	const ToastTemplateType template = ToastTemplateType.ToastText02;
	var toastXml = ToastNotificationManager.GetTemplateContent(template);

	var toastText = toastXml.GetElementsByTagName("text");
	toastText[0].AppendChild(toastXml.CreateTextNode(Title));
	toastText[1].AppendChild(toastXml.CreateTextNode(Message));

	var toast = new ToastNotification(toastXml);

	var toastNotifier = ToastNotificationManager.CreateToastNotifier();
	toastNotifier.Show(toast);
}

public static void ShowNotification(string Title, string Message, string ImageFileName)
{
	const ToastTemplateType template = ToastTemplateType.ToastImageAndText01;
	var toastXml = ToastNotificationManager.GetTemplateContent(template);

	var toastText = toastXml.GetElementsByTagName("text");
	toastText[0].AppendChild(toastXml.CreateTextNode(Title));
	toastText[1].AppendChild(toastXml.CreateTextNode(Message));

	var toastImage = toastXml.GetElementsByTagName("image");
	toastImage.SetAttribute("src", ImageFileName);

	var toast = new ToastNotification(toastXml);

	var toastNotifier = ToastNotificationManager.CreateToastNotifier();
	toastNotifier.Show(toast);
}

Hatta Toast Notification gösterimi esnasında uyarı sesi bile çaldırabiliriz. Bunu yapmak için audio elementini kullanacağız. Sistemde kayıtlı uyarı sesleri;

  • ms-winsoundevent:Notification.Default
  • ms-winsoundevent:Notification.IM
  • ms-winsoundevent:Notification.Mail
  • ms-winsoundevent:Notification.Reminder
  • ms-winsoundevent:Notification.SMS
  • ms-winsoundevent:Notification.Looping.Alarm
  • ms-winsoundevent:Notification.Looping.Alarm2
  • ms-winsoundevent:Notification.Looping.Call
  • ms-winsoundevent:Notification.Looping.Call2

Örnek kullanım;

public static void ShowNotification(string Title, string Message, string ImageFileName, string SoundName)
{
	const ToastTemplateType template = ToastTemplateType.ToastImageAndText01;
	var toastXml = ToastNotificationManager.GetTemplateContent(template);

	var toastText = toastXml.GetElementsByTagName("text");
	toastText[0].AppendChild(toastXml.CreateTextNode(Title));
	toastText[1].AppendChild(toastXml.CreateTextNode(Message));

	var toastImage = toastXml.GetElementsByTagName("image");
	toastImage.SetAttribute("src", ImageFileName);

	var toastAudio = toastXml.GetElementsByTagName("audio");
	toastAudio.SetAttribute("src", SoundName);

	var toast = new ToastNotification(toastXml);

	var toastNotifier = ToastNotificationManager.CreateToastNotifier();
	toastNotifier.Show(toast);
}

Son olarak, yukarıdaki kodların çalışması için uygulamanın Package.appxmanifest dosyasında Toast Capable seçeneğine Yes değerini vermeyi unutmamalıyız

Windows 8 Metro Style Uygulamalarda Package Manifest Dosyası

18 November 2011 1 yorum

Visual Studio 2011 kullanarak yeni bir Windows Metro Style projesi başlattığımızda bizim için projeye otomatik olarak bir manifest dosyası eklenir.

Manifest dosyası Package.appxmanifest olarak isimlendirilir ve projenin kök dizininde konumlanır.

Temelinde XML formatında olan bu dosyayı kolay güncellemek için Visual Studio ile birlikte gelen GUI aracını kullanabiliriz.

Project -> Store -> Edit App Manifest menüsünden erişebilieceğimiz arayüz sayesinde manifest dosyasını çok kolay güncelleyebiliriz. Windows 8 Metro Style Uygulamalarda Async Desteği başlıklı makalemde oluşturduğumuz projenin manifest dosyasına biraz göz atalım.

Application UI

Bu tab’daki seçenekler ile uygulamamız ile ilgili temel bilgileri güncelleyebiliriz.

Display Name : Uygulamanın başlığı. Start Screen (Başlangıç Ekranı), Arama Sonuçları Sayfası, vs. kullanıcının uygulamayı göreceği her yerde bu başlık ile görüntülenecek

Entry Point : Uygulamanın açılışında kullanılacak sınıf’ın adı. Windows.UI.Xaml.Application sınıf’ından türetilmiş olması gerekiyor

Description : Uygulama ile alakalı daha uzun ve detaylı bilginin bulunabildiği açıklama alanı. 2048 karakter limiti vardır

Tiles (Logo, Wide Logo and Small Logo) : Uygulamanın ikonları

Logo : Start Screen’de (Başlangıç Ekranı) uygulamayı temsil edecek ikon

Small Logo : Listeleme modunda uygulamayı temsil edecek ikon

Wide Logo : Start Screen’de (Başlangıç Ekranı) Geniş Mod’da iken uygulamayı temsil edecek ikon

Show Name : Uygulamanın Start Screen‘deki (Başlangıç Ekranı) Tile‘ında uygulamanın adı’nın görüntülenip/görüntülenmeyeceği seçeneği

Short Name : Eğer Show Name seçeneği Yes olarak ayarlanmış ise; Short Name boş iken Display Name, Short Name dolu iken Short Name bilgisi kullanılır

Foreground Text : Uygulama başlığının Tile‘da gösterilecek rengi. Light (Açık) veya Dark (Koyu) seçeneklerinden biri olabilir

Background Color : Uygulama’nın Tile arkaplan rengi

Notifications : Yeni gelen Notication Service‘in kullanımı ile ilgili seçenekler

Badge Logo : Lock Screen‘de (Windows Oturum Açma Ekranı) uygulamanın bildirimleri göstereceği ikon

Toast Capable : Uygulamanın bildirim gösterip/göstermeyeceği seçeneği

Lock Screen Notifications : Lock Screen‘de (Windows Oturum Açma Ekranı) uygulamanın hangi tip bildirim gösterebileceği seçeneği. Badge, Tile Text, Badge and Tile Text seçeneklerinden biri olabilir

Splash Screen : Uygulamanın açılışı sırasında gösterilen karşılama ekranı ile ilgili seçenekler

Splash Screen : Uygulamanın açılış ekran görseli

Background Color : Uygulama açılış ekranının arkaplan rengi

Initial Rotation : Uygulamanın başlangıç yönü. Portrait, Landscape, Portrait and Flipped, Landscape and Flipped seçeneklerinden biri olabilir

Capabilities

Windows 8 üzerinde çalışan uygulamalar erişmek isteyecekleri kaynakları (İnternet, SMS, Webcam, Mikrofon, vs.) manifest dosyasında belirtmeliler. Manifest dosyasında belirtilmeyen kaynaklara erişim engellenmiştir.

Uygulama Manifest dosyasında ilgili kaynaklara erişeceğini bildirmiş olsa dahi, donanım eksikliğinden (WebCam’in olmaması, Mikrofon’un olmaması, vs.) dolayı bu kaynaklara erişemeyebilir.

Windows 8 uygulamaları kurulum esnasında kullanıcıya gösterilen bir ekran aracılığıyla hangi kaynaklara ihtiyaç duyacağını belirtir. Kullanıcı bu ekranda kaynaklara erişilmesine izin vermeyebilir.

Declarations

Declarations, uygulamanın İşletim Sistemine (OS) kendini tanıttığı genişletme noktalarından biridir. Declarations aracılığıyla, uygulama kendisini Arama noktalarından biri olarak (Search Provider), Paylaşım noktalarından biri olarak (Sosyal paylaşım uygulamaları), vs. tanıtabilir.

Packaging

Packaging tab’ı uygulamanın paketlenmesi ve yayınlanması ile ilgili seçenekleri içerir

Package Name : Paket’in ve dolayısıyla uygulamanın benzersiz adı, Guid formatındadır.

Package Display Name : Paket’in kullanıcılar tarafından görülebilen ismidir

Logo : Uygulamanın Windows Store (Windows Uygulama Market’i) üzerinde gözüken ikonu

Publisher : Uygulama geliştiriciye ait sertifika üzerinden otomatik olarak doldurulur. Her geliştirici, kendi sertifikası aracılığıyla uygulamasını imzalar

Publisher Display Name : Uygulama geliştiriciye ait sertifika üzerinden otomatik olarak doldurulur

Package Family Name : Uygulama geliştiriciye ait sertifika üzerinden otomatik olarak doldurulur