Aracılığıyla paylaş


Uygulama bildirim içeriği

Uygulama bildirimleri metin, resim ve düğmeler/girişler içeren esnek bildirimlerdir. Bu makalede, uygulama bildiriminde kullanılabilecek kullanıcı arabirimi öğeleri açıklanır ve uygulama bildirimi için XML biçimini oluşturmaya yönelik kod örnekleri sağlanır.

Note

"Kısa bildirim" terimi "uygulama bildirimi" ile değiştiriliyor. Bu iki terim de Windows'un aynı özelliğine atıfta bulunur, ancak zaman içinde belgelerde "toast notification" kullanımını aşamalı olarak kaldıracağı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 üç yolu vardır. Bu makaledeki kod örnekleri üç 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.
  • Oluşturucu Microsoft.Toolkit.Uwp.Notifications söz dizimi - Bu API'ler UWP Topluluk Araç Seti'nin bir parçasıdır ve UWP uygulamaları için destek sağlar. Bu API'ler Windows Uygulama SDK'sı uygulamaları için de kullanılabilse ve desteklenmeye devam etse de, yeni uygulamaların Microsoft.Windows.AppNotifications.Builder API'lerini kullanmasını öneririz. Topluluk Araç Seti API'lerini kullanmak için UWP Community Toolkit Notifications nuget paketini projenize ekleyin. Bu makalede sağlanan C# örnekleri NuGet paketinin 7.0.0 sürümünü kullanır. Bu API'leri kullanan kod örnekleri "Windows Topluluk Araç Seti" 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ı, Visual Studio'nun XAML düzenleyicisi/tasarım görünümüne benzer bir şekilde, düzenlemekte olduğunuz bildirimlerinizi anında görsel olarak önizleyerek etkileşimli uygulama bildirimleri tasarlamanıza yardımcı olur. 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. XML yükünü oluşturduktan sonra bildirim gönderme hakkında bilgi için bkz. Yerel uygulama bildirimi gönderme.

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. Yerel uygulama bildirimi gönderme.
  • 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ü. Tostun orta kısmı, üç satır metin içeren görsel alan olarak etiketlenmiştir. Bildirim öğesinin 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ında 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ü bulunur. İ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.

Visual

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 cihazlarında 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.

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

Windows 10 Yıldönümü Güncelleştirmesi'den bu yana, metindeki HintMaxLines özelliğini 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.

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 özelliğin adı, görüntünün varsayılan uygulama logo görüntüsünün yerini aldığı Windows'un önceki sürümlerindeki davranışı yansıtır. Windows 11'de uygulama logosu ilişkilendirme alanında görüntülenir, bu nedenle appLogoOverride görüntü yerleşimi tarafından geçersiz kılınmaz.

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 genelindeki kişilerin tutarlı bir gösterimini sağlamak için profil resimlerini döngüsel bir görüntüyle temsil etmenizi önerir. Resmi dairesel kırpma ile işlemek için HintCrop özelliğini Circle olarak ayarlayın.

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

Yıldönümü Güncellemesi'ndeki Yenilikler: Uygulama bildirimleri, bildirim başlığı banner'ında ve Bildirim Merkezi'nin içinde belirgin şekilde görüntülenen ToastGenericHeroImage adlı hero image'ı gösterebilir. 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ı

Bildirimlerinizde kullandığınız görüntüler şu kaynaklardan alınabilir...

  • 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. Fall Creators Update'te (16299), sınırı normal bağlantılarda 3 MB ve tarifeli bağlantılarda 1 MB olacak şekilde artırdık. Bundan önce görüntüler her zaman 200 KB ile sınırlıydı.

Normal bağlantı Ölçümlü bağlantı Fall Creators Update'dan önce
3 MB 1 MB 200 KB

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

Yıldönümü güncelleştirmesinde yeni: İçeriğinizin kaynağına başvurmanız gerekiyorsa, ilişkilendirme metnini kullanabilirsiniz. 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'un ilişkilendirme metnini desteklemeyen eski sürümlerinde, metin başka bir metin öğesi olarak görüntülenir (en fazla üç metin öğesine sahip olmadığınızı varsayarsak).

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

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ı

Creators Update'teki yenilikler: Artık 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. tostlardaö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

Creators Update'teki yenilikler: Kullanıcıyı indirmeler gibi işlemlerin ilerleme durumu hakkında bilgilendirmek için uygulama bildiriminizde bir ilerleme çubuğu sağlayabilirsiniz.

İlerleme çubuğu gösteren toast bildiriminin ekran görüntüsü.

İlerleme çubuğu kullanma hakkında daha fazla bilgi edinmek için lütfenBildirim ilerleme çubuğuna bakın.

Headers

Creators UpdateYeni: Bildirimleri Bildirim Merkezi'ndeki ü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 için bkz. Bildirim üst bilgileri.

Uyarlamalı içerik

Yıldönümü Güncelleştirmesi'nde Yeni: Yukarıda belirtilen içeriğe ek olarak, bildirim genişletildiğinde görünür olan ek uyarlamalı içeriği 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 bildirim görsel alanının soluna ve sağa hizalanmış metin öğesi gruplarını gösteren bir bildirim ekran görüntüsü.

// 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 uçtan uca uygulama hakkında daha fazla bilgi edinmek için "Yerel toast gönderme" bölümüne bkz.

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.AppNotifications.Builder API'lerini veya ham XML'yi kullanarak bu senaryoyu uygulayabilir.

Note

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üğmenin yer aldığı bir satırdan sonra gelen metin satırını gösteren bir bildirim ekran görüntüsü

new ToastContentBuilder()
    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

Düğmelerinize simgeler ekleyebilirsiniz. Bu simgeler, 100% ölçeklendirmede beyaz saydam 16x16 piksel görüntülerdir ve resmin kendisine hiçbir doldurma eklenmemelidir. Bildirimde simgeler sağlamayı seçerseniz, bildirimdeki tüm düğmelerinize simgeler eklemeniz gerekir, çünkü bu, düğmelerinizin stilini simge düğmelerine dönüştürür.

Note

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ü.

new ToastContentBuilder()
    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'teki yenilikler: XML'deHintToolTip özelliğiyle simgelerinize araç ipuçları ekleyebilirsiniz. Düğmelerinizde simgeler varsa ancak içerik yoksa, bu ideal bir durumdur, çünkü bu yöntemle Windows Ekran Okuyucusu'nun okuyabileceği metinlerin geçmesini sağlayabilirsiniz. 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 Update'da Yeni: Aşağıda gösterildiği gibi toast XML öğesine useButtonStyle özniteliğini ve eylem XML öğesine ipucu-düğmeStili özniteliğini ekleyerek düğmelerinize kırmızı veya yeşil renkler ekleyebilirsiniz.

Üç 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

Yıldönümü Güncelleştirmesi'nde Yeni: Kullanıcı bildirim 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.

Note

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());

Note

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.

Inputs

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 (örneğin, mesajlaşma uygulamasında) etkinleştirmek için 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 bildirim bildiriminin ekran görüntüsü. Doğrudan bildirime yazmak için bir metin kutusu ve yanıtı göndermek için bir düğme 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, seçim menüsünü 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 API'leri veya ham XML'yi Microsoft.Toolkit.Uwp.Notifications 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 the `Microsoft.Toolkit.Uwp.Notifications` APIs or 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 ses her zaman Mobil cihazlarda desteklenir ve Masaüstü Sürüm 1511 (derleme 10586) veya sonraki sürümlerde desteklenir. Ö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 bildirimlerde özel ses bölümüne bakın.

Scenarios

Önemli bildirimler, alarmlar, anımsatıcılar ve gelen arama bildirimleri oluşturmak için, senaryo değeri atanmış normal bir uygulama bildirimi kullanmanız yeterlidir. 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

Reminders

Anımsatıcı senaryosunda, kullanıcı kapatana veya eyleme geçene kadar bildirim ekranda kalır. Windows Mobile'da uygulama bildirimi de önceden genişletilmiş olarak gösterilir. 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 Mobile cihazlarında tam ekran görüntülenir.

Gelen arama bildirim tostu

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

Important

Gerekli: Ö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ştirmelerinin (kullanıcının bildirim veya bildirimdeki düğmelere tıklaması) nasıl işleneceğini öğrenmek için bkz. Yerel bildirim gönderme.