Konten pemberitahuan aplikasi

Artikel ini menjelaskan elemen UI yang dapat digunakan dalam pemberitahuan aplikasi dan menyediakan contoh kode untuk menghasilkan konten pemberitahuan. Untuk informasi selengkapnya tentang pemberitahuan aplikasi, lihat Ringkasan pemberitahuan aplikasi. Untuk panduan penerapan pemberitahuan aplikasi, lihat Quickstart: Pemberitahuan aplikasi di SDK Aplikasi Windows.

Memulai Langkah Pertama

Pemberitahuan aplikasi didefinisikan dengan payload XML yang ditentukan oleh skema pemberitahuan Aplikasi. Saat ini, ada dua cara untuk menghasilkan payload XML untuk pemberitahuan aplikasi. Contoh kode dalam artikel ini menunjukkan kedua metode:

  • Microsoft.Windows. AppNotifications.Builder API - Diperkenalkan di SDK Aplikasi Windows 1.2, namespace ini menyediakan API yang memungkinkan Anda dengan mudah membangun payload XML untuk pemberitahuan secara terprogram tanpa harus khawatir tentang spesifikasi format XML. Contoh kode menggunakan API ini ada di tab berlabel "SDK Aplikasi Windows".
  • XML Mentah - Jika mau, Anda dapat membuat kode kustom Anda sendiri untuk menghasilkan string XML dalam format yang diperlukan. Contoh XML mentah ada di tab berlabel "XML".

Instal Visualisasi Notifikasi. Aplikasi Windows gratis ini membantu Anda merancang pemberitahuan aplikasi interaktif dengan menyediakan pratinjau visual instan roti panggang saat Anda mengeditnya, mirip dengan editor/tampilan desain XAML Visual Studio. Lihat Notifications Visualizer untuk informasi selengkapnya, atau unduh Notifications Visualizer dari Store.

Artikel ini hanya membahas pembuatan konten pemberitahuan aplikasi. Untuk informasi tentang mengirim pemberitahuan, lihat Gambaran umum pemberitahuan aplikasi.

Struktur pemberitahuan aplikasi

Beberapa komponen penting tingkat tinggi dari payload XML pemberitahuan aplikasi meliputi:

  • toast: Atribut peluncuran elemen ini menentukan argumen apa yang akan diteruskan kembali ke aplikasi Anda ketika pengguna mengklik toast Anda, memungkinkan Anda untuk menautkan langsung ke konten yang relevan yang ditampilkan oleh toast tersebut. Untuk mempelajari selengkapnya, lihat Gambaran umum pemberitahuan aplikasi.
  • visual : Elemen ini mewakili bagian visual dari toast, termasuk pengikatan generik yang berisi teks dan gambar.
  • tindakan: Elemen ini mewakili bagian interaktif dari toast, termasuk input dan tindakan.
  • audio: Elemen ini menentukan audio yang diputar saat toast ditampilkan kepada pengguna.
var builder = new AppNotificationBuilder()
    .AddArgument("conversationId", "9813")

    .AddText("Some text")

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

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

Berikut adalah representasi visual konten pemberitahuan aplikasi:

Cuplikan layar pemberitahuan aplikasi dengan label untuk area atribusi di bagian atas memperlihatkan ikon aplikasi dan nama aplikasi Notifications Visualizer. Bagian tengah pemberitahuan diberi label sebagai area visual, yang mencakup tiga baris teks. Bagian bawah pemberitahuan diberi label sebagai area tindakan dan berisi dua tombol berlabel Terima dan Tolak.

Area atribusi

Area atribusi berada di bagian atas pemberitahuan aplikasi. Dimulai dengan Windows 11, nama dan ikon aplikasi Anda ditampilkan di area ini. Area atribusi juga menyertakan tombol tutup yang memungkinkan pengguna untuk dengan cepat menutup pemberitahuan dan menu elipsis yang memungkinkan pengguna menonaktifkan pemberitahuan dengan cepat untuk aplikasi Anda atau masuk ke halaman Pengaturan Windows untuk pemberitahuan aplikasi Anda. Area atribusi dikonfigurasi oleh shell dan tidak dapat ditimpa dalam toast XML payload, walaupun aplikasi Anda dapat menambahkan item ke menu konteks area atribusi. Untuk informasi selengkapnya, lihat tindakan menu Konteks .

Visualisasi

Setiap pemberitahuan aplikasi harus menentukan elemen visual , tempat Anda harus menyediakan pengikatan toast generik dan yang dapat berisi teks dan gambar. Elemen-elemen ini akan dirender di berbagai perangkat Windows, termasuk desktop, ponsel, tablet, dan Xbox.

Untuk semua atribut yang didukung di bagian visual dan elemen turunannya, lihat skema pemberitahuan aplikasi .

Elemen teks

Setiap pemberitahuan aplikasi harus memiliki setidaknya satu elemen teks, dan dapat berisi dua elemen teks tambahan, semua jenis AdaptiveText. Elemen teks mendukung pengikatan data, yang memungkinkan Anda memperbarui konten teks setelah pemberitahuan ditampilkan. Untuk informasi selengkapnya, lihat Bilah kemajuan pemberitahuan aplikasi dan pengikatan data.

Cuplikan layar pemberitahuan aplikasi dengan tiga baris teks. Baris atas teks tebal.

Anda dapat mengontrol berapa banyak baris teks yang ditampilkan dengan menggunakan metode AppNotificationTextProperties.SetMaxLines . Default (dan maksimum) adalah hingga 2 baris teks untuk judul, dan hingga 4 baris (digabungkan) untuk dua elemen deskripsi tambahan (kedua dan ketiga 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");

Gambar sebaris

Secara default, gambar ditampilkan sebaris, setelah elemen teks apa pun, mengisi lebar penuh area visual. Gunakan AppNotificationBuilder.SetInlineImage untuk menambahkan gambar sebaris.

Cuplikan layar pemberitahuan aplikasi yang memperlihatkan penempatan gambar default, sebaris, mengisi lebar penuh area visual.

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

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

Penggantian logo aplikasi

Menentukan nilai penempatan sebagai "appLogoOverride" akan menyebabkan gambar ditampilkan dalam bentuk persegi di sisi kiri area tampilan. Gunakan AppNotificationBuilder.SetAppLogoOverride untuk mengatur gambar ini. Nama properti ini mencerminkan perilaku dalam versi Windows sebelumnya, di mana gambar akan menggantikan gambar logo aplikasi default. Dalam Windows 11, logo aplikasi ditampilkan di area atribusi, sehingga tidak digantikan oleh penempatan gambar appLogoOverride.

Dimensi gambar adalah 48x48 piksel pada 100% penskalakan. Kami umumnya menyarankan untuk menyediakan versi setiap aset ikon untuk setiap faktor skala: 100%, 125%, 150%, 200%, dan 400%.

Cuplikan layar pemberitahuan aplikasi yang menunjukkan penempatan gambar penggantian logo aplikasi di persegi di sisi kiri area visual pemberitahuan.

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

Pangkas petunjuk

Panduan gaya Microsoft merekomendasikan mewakili gambar profil dengan gambar melingkar untuk memberikan representasi orang yang konsisten di seluruh aplikasi dan shell. Berikan AppNotificationImageCrop.Circle ke SetAppLogoOverride untuk merender gambar dengan pemangkasan melingkar.

Cuplikan layar pemberitahuan aplikasi yang menunjukkan penempatan gambar logo aplikasi yang di-crop menjadi lingkaran di sisi kiri area visual toast.

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

Gambar hero

Pemberitahuan aplikasi dapat menampilkan gambar hero, yang merupakan ToastGenericHeroImage yang ditampilkan secara menonjol dalam banner toast dan saat berada di Notification Center. Gunakan AppNotificationBuilder.SetHeroImage untuk menambahkan gambar hero. Dimensi gambar adalah 364x180 piksel dengan skala 100%.

Cuplikan layar pemberitahuan aplikasi yang menunjukkan penempatan gambar hero, di atas area atribusi.

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

Pembatasan ukuran gambar

Gambar yang Anda gunakan di pemberitahuan aplikasi dapat bersumber dari...

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

Untuk gambar web jarak jauh http dan https, ada batasan pada ukuran file setiap gambar individu. Batasnya adalah 3 MB pada koneksi normal dan 1 MB pada koneksi terukur.

Koneksi normal Koneksi terukur
3 MB 1 MB

Jika gambar melebihi ukuran file, atau gagal diunduh, atau waktu habis, gambar akan dihilangkan dan pemberitahuan lainnya akan ditampilkan.

Teks atribusi

Jika Anda perlu mereferensikan sumber konten, Anda dapat menggunakan teks atribusi. Gunakan AppNotificationBuilder.SetAttributionText untuk mengatur teks atribusi. Teks ini selalu ditampilkan di bawah elemen teks apa pun, tetapi di atas gambar sebaris. Teks menggunakan ukuran yang sedikit lebih kecil daripada elemen teks standar untuk membantu membedakan dari elemen teks biasa.

Pada versi Windows lama yang tidak mendukung teks atribusi, teks hanya akan ditampilkan sebagai elemen teks lain (dengan asumsi Anda belum memiliki maksimum tiga elemen teks).

Cuplikan layar pemberitahuan aplikasi yang menunjukkan teks atribusi

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

Tanda waktu kustom

Anda dapat mengganti tanda waktu yang disediakan sistem dengan tanda waktu Anda sendiri yang secara akurat mewakili kapan pesan/informasi/konten dibuat. Tanda waktu ini terlihat dalam Pusat Pemberitahuan.

Cuplikan layar pemberitahuan di Pusat Pemberitahuan dengan tanda waktu kustom

Untuk mempelajari selengkapnya tentang menggunakan tanda waktu kustom, silakan lihat Tanda waktu kustom pada pemberitahuan aplikasi.

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

Bilah kemajuan

Anda dapat memberikan bilah kemajuan pada pemberitahuan aplikasi untuk memberi tahu pengguna tentang kemajuan operasi seperti unduhan. Bilah kemajuan mendukung pengikatan data, yang memungkinkan Anda memperbarui nilai kemajuan secara dinamis setelah pemberitahuan ditampilkan.

Cuplikan layar pemberitahuan aplikasi yang menampilkan bilah kemajuan.

Untuk mempelajari selengkapnya tentang menggunakan bilah kemajuan, lihat Bilah kemajuan pemberitahuan aplikasi dan pengikatan data.

Headers

Anda dapat mengelompokkan pemberitahuan di bawah header dalam Pusat Pemberitahuan. Misalnya, Anda dapat mengelompokkan pesan dari obrolan grup di bawah header, atau pemberitahuan grup tema umum di bawah header, atau lebih.

Cuplikan layar pusat tindakan yang memperlihatkan beberapa pemberitahuan untuk aplikasi Penampil Pemberitahuan yang diatur di bawah header berlabel

Untuk mempelajari selengkapnya tentang menggunakan header, silakan lihat Header pemberitahuan aplikasi.

Konten adaptif

Selain konten yang ditentukan di atas, Anda juga dapat menampilkan konten adaptif tambahan yang terlihat saat roti panggang diperluas.

Konten tambahan ini ditentukan menggunakan Adaptive, yang dapat Anda pelajari lebih lanjut dengan membaca dokumentasi Adaptive Tiles.

Perhatikan bahwa konten adaptif apa pun harus terkandung dalam AdaptiveGroup. Jika tidak, itu tidak akan dirender dengan cara adaptif.

Kolom dan elemen teks

Berikut adalah contoh di mana kolom dan beberapa elemen teks adaptif tingkat lanjut digunakan. Karena elemen teks berada dalam AdaptiveGroup, elemen tersebut mendukung semua properti gaya adaptif yang kaya.

Cuplikan layar pemberitahuan aplikasi yang memperlihatkan grup elemen teks yang diratakan ke kiri dan kanan area visual pemberitahuan.

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

Buttons

Tombol membuat toast Anda interaktif, memungkinkan pengguna mengambil tindakan cepat pada pemberitahuan aplikasi Anda tanpa mengganggu alur kerja mereka saat ini. Misalnya, pengguna dapat membalas pesan langsung dari dalam toast, atau menghapus email tanpa membuka aplikasi email. Tombol muncul di bagian pemberitahuan Anda yang diperluas. Gunakan AppNotificationButton untuk menentukan tombol dan AppNotificationBuilder.AddButton untuk menambahkannya ke pemberitahuan.

Untuk mempelajari lebih lanjut tentang penerapan tombol secara menyeluruh, lihat Gambaran umum pemberitahuan aplikasi.

Tombol dapat mengaktifkan aplikasi dengan cara berikut:

  • Aplikasi diaktifkan di latar depan, dengan argumen yang dapat digunakan untuk menavigasi ke halaman/konteks tertentu.
  • Aplikasi lain diaktifkan melalui peluncuran protokol.
  • Aktivasi latar belakang didukung secara eksplisit untuk aplikasi UWP. Untuk aplikasi SDK Aplikasi Windows, aplikasi selalu diluncurkan di latar depan. Aplikasi ini dapat memanggil AppInstance.GetActivatedEventArgs untuk mendeteksi apakah diaktifkan oleh notifikasi dan menentukan dari argumen yang diteruskan apakah akan sepenuhnya meluncurkan aplikasi di latar depan atau hanya menangani notifikasi dan menutup.
  • Tindakan sistem, seperti menunda atau menutup pemberitahuan, didukung baik untuk aplikasi UWP maupun untuk SDK Aplikasi Windows. API AppNotificationBuilder tidak mendukung skenario ini tetapi aplikasi SDK Aplikasi Windows dapat menerapkan skenario ini menggunakan Microsoft.Windows. APPNotifications.Builder API atau XML mentah.

Nota

Anda hanya dapat memiliki hingga 5 tombol (termasuk item menu konteks yang kita bahas nanti).

Cuplikan layar pemberitahuan aplikasi yang menampilkan baris teks diikuti oleh baris dengan dua tombol yang ditentukan oleh elemen tindakan

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

Tombol dengan ikon

Anda dapat menambahkan ikon ke tombol Anda menggunakan AppNotificationButton.SetIcon. Ikon-ikon ini adalah gambar transparan berwarna putih berukuran 16x16 piksel pada skala 100%, dan seharusnya tidak memiliki padding yang termasuk dalam gambar itu sendiri. Jika Anda memilih untuk memberikan ikon pada pemberitahuan aplikasi, Anda harus menyediakan ikon untuk SEMUA tombol Anda di pemberitahuan, karena mengubah gaya tombol Anda menjadi tombol ikon.

Nota

Untuk aksesibilitas, pastikan untuk menyertakan versi kontras-putih ikon (ikon hitam untuk latar belakang putih), sehingga ketika pengguna mengaktifkan mode Putih Kontras Tinggi, ikon Anda terlihat. Untuk informasi selengkapnya, lihat dukungan notifikasi petak dan toast untuk bahasa, skala, dan kontras tinggi.

Cuplikan layar pemberitahuan aplikasi yang menggunakan tombol dengan ikon.

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

Baru dalam Windows 11 Update: Anda dapat menambahkan tooltip ke ikon Anda dengan properti HintToolTip di XML. Ini sangat ideal jika tombol Anda memiliki ikon tetapi tidak ada konten, karena ini akan memastikan Anda dapat meneruskan teks yang dapat dibaca narator Windows. Namun, jika konten ada, maka Narator akan membaca konten tersebut, tidak peduli apa yang diberikan dalam tooltip.

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

Tombol dengan warna

Baru dalam Windows 11 Update: Anda dapat menambahkan warna merah atau hijau ke tombol Anda dengan menggunakan AppNotificationButton.SetButtonStyle dengan AppNotificationButtonStyle. Di XML, tambahkan atribut useButtonStyle ke elemen toast dan atribut hint-buttonStyle ke elemen tindakan seperti yang terlihat di bawah ini.

Cuplikan layar pemberitahuan dengan tiga tombol, dua tombol kiri berwarna hijau dengan ikon untuk memulai panggilan video atau memulai panggilan audio. Tombol ketiga berwarna merah dan memiliki ikon untuk menolak panggilan.

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

Tindakan menu konteks

Anda dapat menambahkan tindakan menu konteks tambahan ke menu konteks yang ada yang muncul saat pengguna mengklik kanan pemberitahuan aplikasi Anda atau memilih ikon menu konteks. Gunakan AppNotificationButton.SetContextMenuPlacement untuk menempatkan tombol di menu konteks, bukan bilah tindakan.

Nota

Pada perangkat yang lebih lama, tindakan menu konteks tambahan ini hanya akan muncul sebagai tombol normal pada pemberitahuan Anda.

Tindakan menu konteks tambahan yang Anda tambahkan (seperti "Matikan suara obrolan grup selama 1 jam") muncul di atas dua entri sistem default.

Toast dengan menu konteks

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

Nota

Item menu konteks tambahan berkontribusi pada batas total 5 tombol pada toast.

Aktivasi item menu konteks tambahan ditangani identik dengan tombol roti bakar.

Masukan

Input ditentukan dalam wilayah Tindakan pemberitahuan aplikasi, artinya input hanya dapat dilihat saat pemberitahuan diperluas.

Kotak teks balasan cepat

Untuk mengaktifkan kotak teks balasan cepat (misalnya, dalam aplikasi olahpesan) tambahkan input teks dengan AppNotificationBuilder.AddTextBox dan tombol, dan referensiKAN ID bidang input teks sehingga tombol ditampilkan di samping bidang input. Ikon opsional untuk tombol, jika disediakan, harus berupa gambar piksel 32x32 tanpa padding, piksel putih diatur ke transparan, dan skala 100%.

Cuplikan layar pemberitahuan aplikasi dengan gambar profil dan beberapa baris teks. Kotak teks untuk mengetik langsung ke pemberitahuan disertakan serta tombol untuk mengirim balasan.

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

Input dengan bilah tombol

Anda juga dapat memiliki satu (atau banyak) input dengan tombol normal yang ditampilkan di bawah input.

Cuplikan layar pemberitahuan aplikasi yang memperlihatkan baris teks, kotak teks, dan baris dengan dua tombol berlabel

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

Input pilihan

Selain kotak teks, Anda juga dapat menggunakan menu pilihan dengan AppNotificationBuilder.AddComboBox.

Cuplikan layar pemberitahuan aplikasi yang menampilkan baris teks, input pilihan dengan

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

Dengan menggunakan menu pilihan dan dua tombol, kita dapat membuat pemberitahuan pengingat yang menggunakan tindakan tunda dan tutup sistem. Pastikan untuk mengatur skenario ke "Pengingat" agar pemberitahuan berperilaku seperti pengingat.

Cuplikan layar pemberitahuan aplikasi dengan baris teks yang menjelaskan waktu dan lokasi rapat. Kotak pilihan memiliki

Kami menautkan tombol Tunda ke input menu pilihan menggunakan properti SelectionBoxId pada tombol toast.

Sintaks Microsoft.Windows.AppNotifications.Builder saat ini tidak mendukung aktivasi sistem. Tetapi skenario ini didukung untuk aplikasi SDK Aplikasi Windows, dan Anda dapat membangun pemberitahuan untuk skenario ini menggunakan XML mentah.

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

Untuk menggunakan tindakan tunda dan tutup sistem:

  • Pilih ToastButtonSnooze atau ToastButtonDismiss
  • Secara opsional tentukan string konten kustom:
  • Jika Anda tidak menyediakan string, kami akan secara otomatis menggunakan string yang dilokalkan untuk "Tunda" dan "Tutup".
  • Opsional, tentukan SelectionBoxId:
  • Jika Anda tidak ingin pengguna memilih interval tunda dan sebaliknya hanya ingin pemberitahuan Anda menunda hanya sekali untuk interval waktu yang ditentukan sistem (yang konsisten di seluruh OS), maka jangan buat input <apa pun> sama sekali.
  • Jika Anda ingin menyediakan pilihan interval penundaan: - Tentukan SelectionBoxId dalam tindakan penundaan - Cocokkan id input dengan SelectionBoxId dari tindakan penundaan - Tentukan nilai ToastSelectionBoxItemsebagai nonNegativeInteger yang mewakili interval penundaan dalam menit.

Audio

Gunakan AppNotificationBuilder.SetAudioUri untuk menentukan file audio kustom, atau gunakan AppNotificationBuilder.SetAudioEvent untuk memilih suara sistem. Audio kustom dapat dirujuk melalui jalur berikut:

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

Atau, Anda dapat memilih dari daftar ms-winsoundevents, yang selalu didukung di kedua platform.

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

Lihat halaman skema audio untuk informasi tentang audio di pemberitahuan aplikasi. Untuk mempelajari cara mengirim pemberitahuan aplikasi yang menggunakan audio kustom, lihat Audio kustom pada pemberitahuan aplikasi.

Skenario

Untuk membuat pemberitahuan penting, alarm, pengingat, dan pemberitahuan panggilan masuk, gunakan AppNotificationBuilder.SetScenario dengan nilai AppNotificationScenario . Skenario ini menyesuaikan beberapa perilaku untuk menciptakan pengalaman pengguna yang konsisten dan terpadu. Ada empat kemungkinan nilai Skenario.

  • Reminder
  • Alarm
  • IncomingCall
  • Mendesak

Pengingat

Dalam skenario pengingat, pemberitahuan akan tetap berada di layar hingga pengguna menutupnya atau mengambil tindakan. Di Windows Mobile, pemberitahuan aplikasi juga akan menampilkan pra-perluasan. Suara pengingat akan diputar. Anda harus menyediakan setidaknya satu tombol pada pemberitahuan aplikasi Anda. Jika tidak, pemberitahuan akan diperlakukan sebagai pemberitahuan normal.

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

Alarms

Alarm berprilaku sama dengan pengingat, kecuali alarm juga akan mengulang audio dengan suara alarm default. Anda harus menyediakan setidaknya satu tombol pada pemberitahuan aplikasi Anda. Jika tidak, pemberitahuan akan diperlakukan sebagai pemberitahuan normal.

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

Panggilan masuk

Pemberitahuan panggilan masuk ditampilkan dalam format panggilan khusus yang sudah diperluas dan tetap berada di layar pengguna hingga dihapus. Nada dering akan berulang secara default. Pada perangkat Windows Mobile, mereka menampilkan layar penuh.

Pemberitahuan aplikasi panggilan masuk

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

Pemberitahuan Penting

Penting

Requires: Anda harus menjalankan Windows Insider Preview Build 22546 atau yang lebih baru untuk menggunakan pemberitahuan penting.

Pemberitahuan penting memungkinkan pengguna untuk memiliki kontrol lebih besar atas aplikasi pihak ke-1 dan pihak ke-3 yang dapat mengirimi mereka pemberitahuan aplikasi berprioritas tinggi (mendesak/penting) yang dapat menerobos Bantuan Fokus (Jangan Diganggu). Ini dapat dimodifikasi dalam pengaturan pemberitahuan.

Cuplikan layar pemberitahuan aplikasi mendesak yang memiliki tanda seru di area atribusi di samping nama aplikasi. Gambar juga menunjukkan pemberitahuan aplikasi yang dimulai sistem yang menyediakan tombol bagi pengguna untuk mengizinkan atau melarang pemberitahuan mendesak dari aplikasi.

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

Pelokalan dan aksesibilitas

Petak peta dan pemberitahuan aplikasi Anda dapat memuat string dan gambar yang disesuaikan untuk bahasa tampilan, faktor skala tampilan, kontras tinggi, dan konteks runtime lainnya. Untuk informasi selengkapnya, lihat dukungan pemberitahuan Tile dan toast untuk bahasa, skala, dan kontras tinggi.

Menangani aktivasi

Untuk mempelajari cara menangani aktivasi aplikasi (pengguna mengklik pemberitahuan atau tombol Anda pada pemberitahuan), lihat Gambaran umum pemberitahuan aplikasi.