Uygulama bildirim içeriği

Bu makalede, bir uygulama bildiriminde kullanılabilecek kullanıcı arabirimi öğeleri açıklanır ve bildirim içeriğini oluşturmaya yönelik kod örnekleri sağlanır. Uygulama bildirimleri hakkında daha fazla bilgi için bkz. Uygulama bildirimlerine genel bakış. Uygulama bildirimlerini uygulamaya yönelik bir walkthrough için, Windows Uygulama SDK'sı'deki 'Quickstart: Uygulama Bildirimleri'ne bakınız.

Başlangıç Yapmak

Uygulama bildirimleri, Uygulama bildirim şeması tarafından tanımlanan bir XML yüküyle tanımlanır. Şu anda, bir uygulama bildirimi için XML yükünü oluşturmanın iki yolu vardır. Bu makaledeki kod örnekleri her iki yöntemi de gösterir:

  • Microsoft.Windows. AppNotifications.Builder API'leri - Windows Uygulama SDK'sı 1.2'de kullanıma sunulan bu ad alanı, XML biçiminin özellikleri konusunda endişelenmenize gerek kalmadan program aracılığıyla bir bildirim için XML yükünü kolayca oluşturmanıza olanak sağlayan API'ler sağlar. Bu API'leri kullanan kod örnekleri "Windows Uygulama SDK'sı" etiketli sekmelerde bulunur.
  • Ham XML - İsterseniz, gerekli biçimde XML dizeleri oluşturmak için kendi özel kodunuzu oluşturabilirsiniz. Ham XML örnekleri "XML" etiketli sekmelerde yer alır.

Bildirimler Görselleştiricisi'ni yükleyin. Bu ücretsiz Windows uygulaması, düzenleme sırasında anında görsel önizleme sağlayarak etkileşimli uygulama bildirimleri tasarımı yapmanıza yardımcı olur, Visual Studio XAML düzenleyicisi/tasarım görünümüne benzer şekilde. Daha fazla bilgi için bkz . Bildirimler Görselleştiricisi veya Mağaza'dan Bildirimler Görselleştiricisi'ni indirin.

Bu makale yalnızca uygulama bildirim içeriğini oluşturmayı kapsar. Bildirim gönderme hakkında bilgi için bkz. Uygulama bildirimlerine genel bakış.

Uygulama bildirim yapısı

Uygulama bildirimi XML yükünün bazı önemli, üst düzey bileşenleri şunlardır:

  • bildirim: Bu öğenin başlatma özniteliği, kullanıcı bildiriminize tıkladığında hangi bağımsız değişkenlerin uygulamanıza geri geçirileceğini tanımlar ve bu sayede bildirimde görüntülenen doğru içeriğe ayrıntılı bağlantı sağlar. Daha fazla bilgi edinmek için bkz. Uygulama bildirimlerine genel bakış.
  • görsel: Bu öğe, metin ve görüntü içeren genel bağlama dahil olmak üzere açıklamanın görsel bölümünü temsil eder.
  • eylemler: Bu öğe, girişler ve eylemler dahil olmak üzere etkileşimli bildirim bölümünü temsil eder.
  • ses: Bu öğe, kullanıcıya toast bildirimi gösterildiğinde çalınan sesi belirtir.
var builder = new AppNotificationBuilder()
    .AddArgument("conversationId", "9813")

    .AddText("Some text")

    .AddButton(new AppNotificationButton("Archive")
        .AddArgument("action", "archive"))

    .SetAudioUri(new Uri("ms-appx:///Sound.mp3"));

Uygulama bildiriminin içeriğinin görsel bir gösterimi aşağıdadır:

Üst kısımda uygulama simgesini ve uygulama adı Bildirimleri Görselleştiricisi'ni gösteren ilişkilendirme alanı etiketlerinin bulunduğu bir uygulama bildiriminin ekran görüntüsü. Bildirimin orta kısmı, üç satır metin içeren görsel alan olarak etiketlenmiştir. Bildirimin alt bölümü eylem alanı olarak etiketlenmiştir ve Kabul Et ve Reddet etiketli iki düğme içerir.

İlişkilendirme alanı

İlişkilendirme alanı, uygulama bildiriminin en üstündedir. Windows 11'den başlayarak, uygulamanızın adı ve simgesi bu alanda görüntülenir. İlişkilendirme alanı ayrıca kullanıcının bildirimi hızla kapatmasına olanak tanıyan bir kapatma düğmesi ve kullanıcının uygulamanız için bildirimleri hızla devre dışı bırakmasına veya uygulamanızın bildirimleri için Windows Ayarlar sayfasına gitmesine olanak tanıyan bir üç nokta menüsü içerir. İlişkilendirme alanı shell tarafından yapılandırılır ve bildirim XML yükünde geçersiz kılınamaz, ancak uygulamanız ilişkilendirme alanı bağlam menüsüne öğeler ekleyebilir. Daha fazla bilgi için bkz . Bağlam menüsü eylemleri.

Görsel

Her uygulama bildirimi, metin ve görüntü içerebilen bir görsel öğesi belirtmeli ve genel bir bildirim bağlaması sağlamanız gerekmektedir. Bu öğeler masaüstü, telefonlar, tabletler ve Xbox gibi çeşitli Windows cihazlarda işlenir.

Görsel bölümünde desteklenen tüm öznitelikler ve alt öğeleri için bkz. Uygulama bildirim şeması.

Metin öğeleri

Her uygulama bildiriminin en az bir metin öğesi olmalıdır ve tümü AdaptiveText türünde iki ek metin öğesi içerebilir. Metin öğeleri, bildirim görüntülendikten sonra metin içeriğini güncelleştirmenizi sağlayan veri bağlamayı destekler. Daha fazla bilgi için bkz. Uygulama bildirimi ilerleme çubuğu ve veri bağlama.

Üç satır metin içeren bir uygulama bildiriminin ekran görüntüsü. Metnin üst satırı kalındır.

AppNotificationTextProperties.SetMaxLines yöntemini kullanarak kaç satır metin görüntüleneceğini denetleyebilirsiniz. Varsayılan (ve en fazla) başlık için en fazla 2 satır, ek iki açıklama öğesi için en fazla 4 satırdır (birleşik) (ikinci ve üçüncü AdaptiveText).

var builder = new AppNotificationBuilder()
    .AddArgument("conversationId", 9813)
    .AddText("Adaptive Tiles Meeting", new AppNotificationTextProperties().SetMaxLines(1))
    .AddText("Conf Room 2001 / Building 135")
    .AddText("10:00 AM - 10:30 AM");

Satır içi resim

Varsayılan olarak, görüntüler herhangi bir metin öğesinden sonra, görsel alanının tüm genişliğini doldurarak satır içinde görüntülenir. Satır içi görüntü eklemek için AppNotificationBuilder.SetInlineImage kullanın.

Görsel alanının tüm genişliğini dolduran, satır içi varsayılan görüntü yerleşimini gösteren bir uygulama bildiriminin ekran görüntüsü.

var builder = new AppNotificationBuilder()
    .AddText("Featured image of the day.")
    .SetInlineImage(new Uri("ms-appx:///Images/InlineImage.png"));

AppNotificationManager.Default.Show(builder.BuildNotification());

Uygulama logosunu değiştirme

"appLogoOverride" değerine sahip bir yerleşimi belirtmek, resmin görsel alanın sol tarafında kare şeklinde görüntülenmesine neden olur. Bu görüntüyü ayarlamak için AppNotificationBuilder.SetAppLogoOverride kullanın. Bu özelliğin adı, Windows önceki sürümlerindeki davranışı yansıtır ve burada görüntü varsayılan uygulama logo görüntüsünün yerini alır. Windows 11'da, uygulama logosu ilişkilendirme alanında görüntülenir, bu nedenle appLogoOverride görüntü yerleşimi tarafından geçersiz kılınamaz.

Görüntü boyutları 100% ölçeklendirmede 48x48 pikseldir. Her ölçek faktörü için her simge varlığının bir sürümünü sağlamanızı öneririz: 100%, 125%, 150%, 200%ve 400%.

Bildirimin görsel alanının sol tarafındaki bir karede uygulama logosu geçersiz kılma resmi yerleşimini gösteren bir uygulama bildiriminin ekran görüntüsü.

var builder = new AppNotificationBuilder()
    .AddText("Featured image of the day.")
    .SetAppLogoOverride(new Uri("ms-appx:///Images/AppLogo.png"));

İpucu kırpma

Microsoft stil yönergeleri, uygulamalar ve kabuk genelinde kişilerin tutarlı bir gösterimini sağlamak için profil resimlerini döngüsel bir görüntüyle temsil etmenizi önerir. Görüntüyü döngüsel kırpmayla işlemek için AppNotificationImageCrop.Circle'ıSetAppLogoOverride'a geçirin.

Bildirim görsel alanının sol tarafındaki daireye kırpılan uygulama logosu geçersiz kılma resim yerleşimini gösteren bir uygulama bildiriminin ekran görüntüsü.

var builder = new AppNotificationBuilder()
    .AddText("Matt sent you a friend request")
    .AddText("Hey, wanna dress up as wizards and ride around on hoverboards?")
    .SetAppLogoOverride(new Uri("ms-appx:///Images/Profile.png"), AppNotificationImageCrop.Circle);

Hero resmi

Uygulama bildirimleri, bildirim başlığı ve Bildirim Merkezi'nde öne çıkan ToastGenericHeroImage adlı bir ana görseli göz alıcı bir şekilde görüntüleyebilir. Bir hero görüntüsü eklemek için AppNotificationBuilder.SetHeroImage kullanın. Görüntü boyutları 100% ölçeklendirmede 364x180 pikseldir.

İlişkilendirme alanının üstündeki hero görüntü yerleşimini gösteren bir uygulama bildiriminin ekran görüntüsü.

var builder = new AppNotificationBuilder()
    .AddText("Marry Anne")
    .AddText("Check out where we camped last night!")
    .SetHeroImage(new Uri("ms-appx:///Images/HeroImage.png"));

Görüntü boyutu kısıtlamaları

Uygulama bildiriminizde kullandığınız görüntülerin kaynağı...

  • http://
  • ms-appx:///
  • ms-appdata:///

Http ve https uzak web görüntüleri için, her bir görüntünün dosya boyutuyla ilgili sınırlar vardır. Sınır, normal bağlantılarda 3 MB ve tarifeli bağlantılarda 1 MB'tır.

Normal bağlantı Ölçümlü bağlantı
3 MB 1 MB

Bir görüntü dosya boyutunu aşarsa, indirilemezse veya zaman aşımına uğrırsa, görüntü bırakılır ve bildirimin geri kalanı görüntülenir.

İlişkilendirme metni

İçeriğinizin kaynağına başvurmanız gerekiyorsa, ilişkilendirme metnini kullanabilirsiniz. İlişkilendirme metnini ayarlamak için AppNotificationBuilder.SetAttributionText kullanın. Bu metin her zaman tüm metin öğelerinin altında, ancak satır içi görüntülerin üzerinde görüntülenir. Metin, normal metin öğelerinden ayırt etmeye yardımcı olmak için standart metin öğelerinden biraz daha küçük bir boyut kullanır.

Windows'ın ilişkilendirme metnini desteklemeyen eski sürümlerinde, metin yalnızca başka bir metin öğesi olarak görüntülenir (en fazla üç metin öğesine sahip olmadığınızı varsayarsak).

Bildirimin görsel alanındaki diğer metin satırlarının altındaki

var builder = new AppNotificationBuilder()
    .AddText("Marry Anne")
    .AddText("Check out where we camped last night!")
    .SetAttributionText("via SMS");
    .SetHeroImage(new Uri("ms-appx:///Images/HeroImage.png"));

Özel zaman damgası

Sistem tarafından sağlanan zaman damgasını, iletinin/bilgilerin/içeriğin ne zaman oluşturulduğunu doğru bir şekilde temsil eden kendi zaman damganızla geçersiz kılabilirsiniz. Bu zaman damgası Bildirim Merkezi'nin içinde görünür.

Bildirim Merkezi'nde özel zaman damgasıyla bir bildirimin ekran görüntüsü

Özel zaman damgası kullanma hakkında daha fazla bilgi edinmek için bkz. Uygulama bildirimlerinde özel zaman damgaları.

var builder = new AppNotificationBuilder()
    .AddText("Matt sent you a friend request")
    .AddText("Hey, wanna dress up as wizards and ride around on hoverboards?")
    .SetTimeStamp(new DateTime(2017, 04, 15, 19, 45, 00, DateTimeKind.Utc));

İlerleme çubuğu

Kullanıcıyı indirmeler gibi işlemlerin ilerleme durumu hakkında bilgilendirmek için uygulama bildiriminizde bir ilerleme çubuğu sağlayabilirsiniz. İlerleme çubukları, bildirim görüntülendikten sonra ilerleme değerlerini dinamik olarak güncelleştirmenizi sağlayan veri bağlamayı destekler.

İlerleme çubuğunu gösteren uygulama bildiriminin ekran görüntüsü.

İlerleme çubuğu kullanma hakkında daha fazla bilgi edinmek için bkz. Uygulama bildirimi ilerleme çubuğu ve veri bağlama.

Headers

Bildirimleri Bildirim Merkezi'nin içindeki üst bilgiler altında gruplandırabilirsiniz. Örneğin, bir grup sohbetinden gelen iletileri üst bilgi altında gruplandırabilir veya üst bilgi altında ortak bir temanın bildirimlerini gruplandırabilirsiniz.

Uygulama Bildirimleri Görüntüleyicisi için

Üst bilgileri kullanma hakkında daha fazla bilgi edinmek için bkz. Uygulama bildirimi üst bilgileri.

Uyarlamalı içerik

Yukarıda belirtilen içeriğe ek olarak, bildirim genişletildiğinde görünür olan ek uyarlamalı içerik de görüntüleyebilirsiniz.

Bu ek içerik, Uyarlanabilir özellikleri kullanarak belirtilir ve Uyarlanabilir Kutucuklar belgeleriniokuyarak bu konuda daha fazla bilgi edinebilirsiniz.

Uyarlamalı içeriğin bir AdaptiveGroup içinde yer alması gerektiğini unutmayın. Aksi takdirde uyarlamalı kullanılarak işlenmez.

Sütunlar ve metin öğeleri

Aşağıda sütunların ve bazı gelişmiş uyarlamalı metin öğelerinin kullanıldığı bir örnek verilmiş. Metin öğeleri bir AdaptiveGroup içinde olduğundan, tüm zengin uyarlamalı stil özelliklerini destekler.

Bir uygulama bildiriminin ekran görüntüsü, bildirimin görsel alanının solunda ve sağında hizalanmış metin öğesi gruplarını gösteriyor.

// The Microsoft.Windows.AppNotifications.Builder syntax does not currently support adaptive text elements.

Buttons

Düğmeler, kullanıcının geçerli iş akışını kesintiye uğratmadan uygulama bildiriminizde hızlı işlemler yapmasına izin vererek bildirimlerinizi etkileşimli hale getirir. Örneğin, kullanıcılar bir iletiyi doğrudan bir bildirim penceresinden yanıtlayabilir veya e-posta uygulamasını açmadan e-postayı silebilir. Düğmeler bildiriminizin genişletilmiş bölümünde görünür. Düğmeleri tanımlamak için AppNotificationButton ve bildirime eklemek için AppNotificationBuilder.AddButton kullanın.

Düğmeleri uçtan uca uygulamak hakkında daha fazla bilgi edinmek için bakınız: Uygulama bildirimlerine genel bakış.

Düğmeler bir uygulamayı aşağıdaki yollarla etkinleştirebilir:

  • Uygulama, belirli bir sayfaya/bağlama gitmek için kullanılabilecek bir bağımsız değişkenle ön planda etkinleştirilir.
  • Protokol başlatma yoluyla başka bir uygulama etkinleştirilir.
  • Arka plan etkinleştirme UWP uygulamaları için açıkça desteklenir. Windows Uygulama SDK'sı uygulamalar için uygulama her zaman ön planda başlatılır. Uygulama, AppInstance.GetActivatedEventArgs çağırarak aktivasyonun bir bildirim tarafından başlatılıp başlatılmadığını algılayabilir ve iletilen bağımsız değişkenlerden ön plan uygulamasının tamamen başlatılması gerekip gerekmediğini veya yalnızca bildirimi işleyip işlemeyeceğini belirleyebilir.
  • Bildirimin gizlenmesi veya kapatılması gibi sistem eylemleri hem UWP uygulamaları hem de Windows Uygulama SDK'sı için desteklenir. AppNotificationBuilder API'leri bu senaryoyu desteklemez, ancak Windows Uygulama SDK'sı uygulamalar Microsoft.Windows kullanarak bu senaryoyu uygulayabilir. AppNotifications.Builder API'leri veya ham XML.

Uyarı

En fazla 5 düğmeniz olabilir (daha sonra ele aldığımız bağlam menüsü öğeleri dahil).

Eylem öğeleri tarafından tanımlanan iki düğmeyle bir satırdan sonra gelen metin satırını gösteren uygulama bildiriminin ekran görüntüsü

var builder = new AppNotificationBuilder()
    .AddText("New product in stock!")
    .AddButton(new AppNotificationButton("See more details")
        .AddArgument("action", "viewDetails"))
        .AddArgument("contentId", "351")
    .AddButton(new AppNotificationButton("Remind me later")
        .AddArgument("action", "remindLater"))
        .AddArgument("contentId", "351");

Simgeler içeren düğmeler

AppNotificationButton.SetIcon kullanarak düğmelerinize simgeler ekleyebilirsiniz. Bu simgeler, 100% ölçeklendirmede beyaz saydam 16x16 piksel görüntülerdir ve resmin kendisine hiçbir doldurma eklenmemelidir. Bir uygulama bildiriminde simge sağlamayı seçerseniz, düğmelerinizin stilini simge düğmelerine dönüştürdüğünden bildirimdeki tüm düğmeleriniz için simgeler sağlamanız gerekir.

Uyarı

Erişilebilirlik için simgenin karşıtlık beyazı bir sürümünü (beyaz arka planlar için siyah bir simge) eklediğinizden emin olun; böylece kullanıcı Yüksek Karşıtlık Beyaz modunu açtığında simgeniz görünür olur. Daha fazla bilgi için, dil, ölçek ve yüksek karşıtlık için kutucuk ve bildirim desteği hakkında bkz. .

Simgeler içeren düğmeleri kullanan bir uygulama bildiriminin ekran görüntüsü.

var builder = new AppNotificationBuilder()
    .AddText("Return books to the library.")
    .AddButton(new AppNotificationButton("Accept")
        .AddArgument("action", "accept")
        .SetIcon(new Uri("ms-appx:///Images/Accept.png")))
    .AddButton(new AppNotificationButton("Snooze")
        .AddArgument("action", "snooze")
        .SetIcon(new Uri("ms-appx:///Images/Snooze.png")))
    .AddButton(new AppNotificationButton("Dismiss")
        .AddArgument("action", "dismiss")
        .SetIcon(new Uri("ms-appx:///Images/Dismiss.png")));

Windows 11 Update Yeni: XML'deki HintToolTip özelliğiyle simgelerinize araç ipuçları ekleyebilirsiniz. Düğmelerinizde simgeler varsa ancak içerik yoksa, bu, Ekran Okuyucusu'nun okuyabileceği metni geçirebilmenizi sağlar; bu nedenle idealdir. Ancak içerik varsa, araç ipucuna ne yazılırsa yazılsın, Ekran Okuyucusu içeriği okur.

var button = new AppNotificationButton("Reply")
    .AddArgument("action", "reply");

if (AppNotificationButton.IsToolTipSupported())
{
    button.ToolTip = "Click to reply.";
}

var builder = new AppNotificationBuilder()
    .AddText("Notification text.")
    .AddButton(button); 

Renkli düğmeler

Windows 11 Güncellemesindeki Yenilikler: Düğmelerinize kırmızı veya yeşil renkler eklemek için AppNotificationButtonStyle ile birlikte AppNotificationButton.SetButtonStyle kullanabilirsiniz. XML'de, aşağıda gösterildiği gibi tost öğesine useButtonStyle özniteliğini ve eylem öğesine hint-buttonStyle özniteliğini ekleyin.

Üç düğmeli bir bildirimin ekran görüntüsü, iki sol düğme görüntülü arama başlatmak veya sesli arama başlatmak için simgeler içeren yeşil renktedir. Üçüncü düğme kırmızıdır ve aramayı reddetmek için bir simgeye sahiptir.

var builder = new AppNotificationBuilder()
    .SetScenario(AppNotificationScenario.IncomingCall)
    .AddText("Andrew Bares", new AppNotificationTextProperties()
        .SetIncomingCallAlignment())
      .AddText("Incoming Call - Mobile", new AppNotificationTextProperties()
        .SetIncomingCallAlignment())
      .SetInlineImage(new Uri("ms-appx:///Images/Profile.png"),
        AppNotificationImageCrop.Circle)
    .AddButton(new AppNotificationButton()
        .SetToolTip("Answer Video Call")
        .SetButtonStyle(AppNotificationButtonStyle.Success)
        .SetIcon(new Uri("ms-appx:///Images/Video.png"))
        .AddArgument("videoId", "123"))
    .AddButton(new AppNotificationButton()
        .SetToolTip("Answer Phone Call")
        .SetButtonStyle(AppNotificationButtonStyle.Success)
        .SetIcon(new Uri("ms-appx:///Images/Call.png"))
        .AddArgument("callId", "123"))
    .AddButton(new AppNotificationButton()
        .SetToolTip("Hang Up")
        .SetButtonStyle(AppNotificationButtonStyle.Critical)
        .SetIcon(new Uri("ms-appx:///Images/HangUp.png"))
        .AddArgument("hangUpId", "123"));

Bağlam menüsü eylemleri

Kullanıcı uygulama bildiriminize sağ tıkladığında veya bağlam menüsü simgesini seçtiğinde görüntülenen mevcut bağlam menüsüne ek bağlam menüsü eylemleri ekleyebilirsiniz. Eylem çubuğu yerine bağlam menüsüne bir düğme yerleştirmek için AppNotificationButton.SetContextMenuPlacement kullanın.

Uyarı

Eski cihazlarda, bu ek bağlam menüsü eylemleri bildiriminizde normal düğmeler olarak görünür.

Eklediğiniz ek bağlam menüsü eylemleri ("Grup sohbetini 1 saat boyunca sessize alın") varsayılan iki sistem girdisinin üzerinde görünür.

Bağlam menüsü ile birlikte toast

var builder = new AppNotificationBuilder()
    .AddText("Camping this weekend?")
    .SetAppLogoOverride(new Uri("ms-appx:///images/Reply.png"), AppNotificationImageCrop.Circle)
    .AddButton(new AppNotificationButton("Mute group chat for 1 hour")
        .AddArgument("action", "mute")
        .SetContextMenuPlacement());

Uyarı

Ek bağlam menüsü öğeleri, bir bildirimde toplam 5 düğme sınırına katkıda bulunur.

Ek bağlam menüsü öğelerinin etkinleştirilmesi, toast düğmeleriyle aynı şekilde işlenir.

Girişler

Girişler, uygulama bildiriminin Eylemler bölgesinde belirtilir, yani bunlar yalnızca bildirim genişletildiğinde görünür.

Hızlı yanıt metin kutusu

Hızlı yanıt metin kutusunu etkinleştirmek için (örneğin, bir mesajlaşma uygulamasında), AppNotificationBuilder.AddTextBox ile bir metin girişi ve bir düğme ekleyin ve düğmenin giriş alanının yanında görüntülenmesi için metin giriş alanının kimliğine başvurun. Düğme için sağlanan isteğe bağlı simge, doldurma içermeyen, beyaz pikselleri saydam olarak ayarlanmış ve 100% ölçeğinde olan 32x32 piksellik bir görüntü olmalıdır.

Profil resmi ve bazı metin satırları içeren bir uygulama bildiriminin ekran görüntüsü. Doğrudan bildirime yazmaya yönelik bir metin kutusunun yanı sıra yanıtı göndermeye yönelik bir düğme de bulunur.

var builder = new AppNotificationBuilder()
    .AddTextBox("textBox", "Type a reply", "Reply")
    .AddButton(AppNotificationButton("Send")
        .AddArguments("action", "Send")
        .SetInputId("textBox"))
    .BuildNotification();

Düğme çubuğu içeren girişler

Ayrıca, girişlerin altında normal düğmelerin görüntülendiği bir (veya daha fazla) girişiniz de olabilir.

Metin satırını, metin kutusunu ve

// The Microsoft.Windows.AppNotifications.Builder syntax does not currently support quick reply text boxes.

Seçenek girişi

Metin kutularına ek olarak, AppNotificationBuilder.AddComboBox ile bir seçim menüsü de kullanabilirsiniz.

Metin satırını, seçili öğe olarak

var builder = new AppNotificationBuilder()
    .AddText("4th coffee?")
    .AddText("When do you plan to come in tomorrow?")
    .AddComboBox(new AppNotificationComboBox("time")
        .SetTitle("Select an item:")
        .AddItem("breakfast", "Breakfast")
        .AddItem("lunch", "Lunch")
        .AddItem("dinner", "Dinner")
        .SetSelectedItem("lunch"))
    .AddButton(new AppNotificationButton("Reply")
        .AddArgument("action", "reply")
        .AddArgument("threadId", "9218")
        .SetContextMenuPlacement())
    .AddButton(new AppNotificationButton("Call restaurant")
        .AddArgument("action", "videocall")
        .AddArgument("threadId", "9218")
        .SetContextMenuPlacement());

Snooze/dismiss

Bir seçim menüsü ve iki düğme kullanarak sistem erteleme ve kapatma eylemlerini kullanan bir anımsatıcı bildirimi oluşturabiliriz. Bildirimin anımsatıcı gibi davranması için senaryoyu "Anımsatıcı" olarak ayarladığınızdan emin olun.

Toplantının saatini ve konumunu açıklayan metin satırları içeren bir uygulama bildiriminin ekran görüntüsü. Seçim kutusunda

Bildirim düğmesi üzerindeki SelectionBoxId özelliğini kullanarak Ertele düğmesini, seçim menüsü girişine bağlarız.

Microsoft.Windows. AppNotifications.Builder söz dizimi şu anda sistem etkinleştirmeyi desteklemiyor. Ancak bu senaryo Windows Uygulama SDK'sı uygulamalar için desteklenir ve ham XML kullanarak bu senaryo için bildirimler oluşturabilirsiniz.

// The Microsoft.Windows.AppNotifications.Builder syntax does not currently support system activation. 
// But this scenario is supported for Windows App SDK apps, and you can build notifications for this 
// scenario using raw XML.

Sistem erteleme ve kapatma eylemlerini kullanmak için:

  • ToastButtonSnooze veya ToastButtonDismiss birini belirtin
  • İsteğe bağlı olarak özel bir içerik dizesi belirtin:
  • Bir dize sağlamazsanız, "Ertele" ve "Kapat" için otomatik olarak yerelleştirilmiş dizeleri kullanırız.
  • İsteğe bağlı olarak SelectionBoxId değerini belirtin:
  • Kullanıcının bir erteleme aralığı seçmesini istemiyorsanız ve bunun yerine bildiriminizin sistem tanımlı bir zaman aralığı için yalnızca bir kez ertelenmesini istiyorsanız (işletim sistemi genelinde tutarlıdır), hiçbir giriş< oluşturmayın>.
  • Erteleme aralığı seçimleri sağlamak istiyorsanız: - Ertele eyleminde SelectionBoxId belirtin - Girişin kimliğini erteleme eyleminin SelectionBoxId ile eşleştirin - ToastSelectionBoxItemdeğerinin, erteleme aralığını dakika cinsinden temsil eden bir negatif olmayan tamsayı (nonNegativeInteger) olduğunu belirtin.

Audio

Özel bir ses dosyası belirtmek için AppNotificationBuilder.SetAudioUri kullanın veya bir sistem sesi seçmek için AppNotificationBuilder.SetAudioEvent kullanın. Özel sese aşağıdaki yollardan başvurulabilir:

  • ms-appx:///
  • ms-appdata:///
var builder = new AppNotificationBuilder()
    .AddText("Notification text.")
    .SetAudioUri(new Uri("ms-appx:///Audio/NotificationSound.mp3"));

Alternatif olarak, her iki platformda da her zaman desteklenen ms-winsoundevents listesinden seçim yapabilirsiniz.

var builder = new AppNotificationBuilder()
    .AddText("Notification text.")
    .SetAudioEvent(AppNotificationSoundEvent.Alarm, AppNotificationAudioLooping.Loop);

Uygulama bildirimlerinde ses hakkında bilgi için ses şeması sayfasına bakın. Özel ses kullanan bir uygulama bildirimi göndermeyi öğrenmek için bkz. Uygulama bildirimlerinde özel ses.

Scenarios

Önemli bildirimler, alarmlar, anımsatıcılar ve gelen arama bildirimleri oluşturmak için AppNotificationBuilder.SetScenario'yuAppNotificationScenario değeriyle kullanın. Senaryo, tutarlı ve birleşik bir kullanıcı deneyimi oluşturmak için birkaç davranışı ayarlar. Dört olası Senaryo değeri vardır:

  • Reminder
  • Alarm
  • IncomingCall
  • Urgent

Hatırlatmalar

Anımsatıcı senaryosunda, kullanıcı kapatana veya eyleme geçene kadar bildirim ekranda kalır. Windows Mobile'da uygulama bildirimi önceden genişletilmiş şekilde de gösterilecek. Bir anımsatıcı sesi çalınacak. Uygulama bildiriminizde en az bir düğme sağlamanız gerekir. Aksi takdirde, bildirim normal bir bildirim olarak kabul edilir.

var builder = new AppNotificationBuilder()
    .AddText("Notification text.")
    .SetScenario(AppNotificationScenario.Reminder);

Alarms

Alarmlar anımsatıcılarla aynı şekilde davranır, ancak alarm sesleri ek olarak varsayılan bir alarm sesiyle sürekli olarak çalar. Uygulama bildiriminizde en az bir düğme sağlamanız gerekir. Aksi takdirde, bildirim normal bir bildirim olarak kabul edilir.

var builder = new AppNotificationBuilder()
    .AddText("Notification text.")
    .SetScenario(AppNotificationScenario.Alarm)
    .AddButton(new AppNotificationButton("Dismiss")
        .AddArgument("action", "dismiss"));

Gelen aramalar

Gelen arama bildirimleri özel bir arama biçiminde önceden genişletilmiş olarak görüntülenir ve kapatılana kadar kullanıcının ekranında kalır. Zil sesi varsayılan olarak döngü yapar. Windows Mobil cihazlarda tam ekran görüntülenir.

Gelen arama uygulaması bildirimi

var builder = new AppNotificationBuilder()
    .SetScenario(AppNotificationScenario.IncomingCall)
    .AddText("Andrew Bares", new AppNotificationTextProperties()
        .SetIncomingCallAlignment())
    .AddText("incoming call - mobile", new AppNotificationTextProperties()
        .SetIncomingCallAlignment())
      .SetInlineImage(new Uri("ms-appx:///images/profile.png"),
        AppNotificationImageCrop.Circle)
    .AddButton(new AppNotificationButton("Text reply")
        .SetToolTip("Text reply")
        .SetIcon(new Uri("ms-appx:///images/reply.png"))
        .AddArgument("textId", "123"))
    .AddButton(new AppNotificationButton("Reminder")
        .SetToolTip("Reminder")
        .SetIcon(new Uri("ms-appx:///images/reminder.png"))
        .AddArgument("reminderId", "123"))
    .AddButton(new AppNotificationButton("Ignore")
        .SetToolTip("Ignore")
        .SetIcon(new Uri("ms-appx:///images/ignore.png"))
        .AddArgument("ignoreId", "123"))
    .AddButton(new AppNotificationButton("Answer")
        .SetToolTip("Answer")
        .SetIcon(new Uri("ms-appx:///images/answer.png"))
        .AddArgument("answerId", "123"));

Önemli Bildirimler

Önemli

Requires: Önemli bildirimleri kullanmak için Windows Insider Preview Derlemesi 22546 veya üzerini çalıştırıyor olmanız gerekir.

Kullanıcıların, birinci ve üçüncü taraf uygulamaların, Odak Yardımı (Rahatsız Etmeyin) modunu aşarak gönderebileceği yüksek öncelikli uygulama bildirimleri (acil/önemli) üzerinde daha fazla kontrol sahibi olmalarını sağlayan önemli bildirimler vardır. Bu, bildirim ayarlarında değiştirilebilir.

Uygulama adının yanındaki ilişkilendirme alanında ünlem işareti bulunan acil bir uygulama bildiriminin ekran görüntüsü. Görüntüde ayrıca kullanıcının uygulamadan acil bildirimlere izin vermesine veya bu bildirimlere izin vermesine izin vermemeye yönelik düğmeler sağlayan sistem tarafından başlatılan uygulama bildirimi de gösterilir.

var builder = new AppNotificationBuilder()
    .AddText("Adaptive Tiles Meeting", 
        new AppNotificationTextProperties()
            .SetMaxLines(1))
    .AddText("Conf Room 2001 / Building 135")
    .AddText("10:00 AM - 10:30 AM");

if (AppNotificationBuilder.IsUrgentScenarioSupported())
{
    builder.SetScenario(AppNotificationScenario.Urgent);
}

Yerelleştirme ve erişilebilirlik

Kutucuklarınız ve uygulama bildirimleriniz, görüntüleme dili, görüntü ölçek faktörü, yüksek karşıtlık ve diğer çalışma zamanı bağlamları için uyarlanmış dizeleri ve görüntüleri yükleyebilir. Daha fazla bilgi için, dil, ölçek ve yüksek karşıtlık için kutucuk ve bildirim desteği 'ı görüntüleyin.

Etkinleştirme işlemleri

Uygulama etkinleştirmelerini (bildiriminize tıklayan kullanıcı veya bildirimdeki düğmeler) nasıl işleneceğini öğrenmek için bkz. Uygulama bildirimlerine genel bakış.