Bagikan melalui


Lencana

Badge API memungkinkan pengembang untuk mengatur nomor lencana ikon aplikasi di layar beranda.

Screenshot of an Badge on Windows


Prasyarat berikut diperlukan untuk menggunakan Badge API:

Konfigurasi tambahan diperlukan untuk mendukung perangkat Android. Lihat bagian Android di bawah ini.

Sintaks

C#

Badge API dapat digunakan sebagai berikut di C#:

void SetCount(uint value)
{
    Badge.Default.SetCount(value);
}

Metode

Metode Deskripsi
SetCount Atur jumlah lencana.

Pendaftaran Dependensi

Jika Anda ingin menggunakan lapisan injeksi dependensi bawaan dalam .NET MAUI, maka Anda harus terlebih dahulu mendaftarkan Badge implementasi di dalam .MauiProgram Perbarui MauiProgram.cs dengan perubahan berikutnya:

public static class MauiProgram
{
    public static MauiApp CreateMauiApp()
    {
        var builder = MauiApp.CreateBuilder();
        builder
            .UseMauiApp<App>()
            .UseMauiCommunityToolkit();

        builder.Services.AddSingleton<IBadge>(Badge.Default);
        return builder.Build();
    }
}

Sekarang Anda dapat menyuntikkan layanan seperti ini:

public partial class MainPage : ContentPage
{
    private readonly IBadge badge;

    public MainPage(IBadge badge)
    {
        InitializeComponent();
        this.badge = badge;
    }

    public void SetCount(uint value)
    {
        badge.SetCount(value);
    }
}

Contoh

Anda dapat menemukan contoh API yang Badge sedang beraksi di Aplikasi Sampel Toolkit Komunitas .NET MAUI.

API

Anda dapat menemukan kode sumber untuk Badge API di repositori GitHub .NET MAUI Community Toolkit.

Android

Peringatan

Karena beragamnya lanskap produsen dan peluncur perangkat Android, perlu diketahui bahwa mungkin ada variasi yang tidak dapat diprediksi dalam cara jumlah lencana aplikasi ditampilkan atau tidak ditampilkan di perangkat yang berbeda.

Di dunia Android, satu ukuran jarang cocok semua. Prinsip ini berlaku untuk menetapkan jumlah lencana aplikasi, karena kurangnya API standar yang disediakan oleh sistem Android untuk fungsionalitas ini.

Peluncur Android yang berbeda telah memilih untuk menerapkan jumlah lencana dengan cara yang unik. Sebagian besar peluncur termasuk yang populer seperti Nova Launcher, Microsoft Launcher, dll., memiliki metode khusus mereka untuk menangani fitur ini.

Akibatnya, untuk memastikan bahwa pemberitahuan lencana aplikasi Anda muncul dengan benar di berbagai peluncur ini, Anda harus menggunakan untuk memprogram implementasi kode tertentu untuk setiap peluncur. Ini berarti menyesuaikan kode Anda dengan persyaratan spesifik dari mekanisme pengindikasian jumlah lencana unik setiap peluncur.

Anggap saja sebagai rintangan yang harus diatasi pengembang, di jalur menuju mencapai pengalaman aplikasi universal. Hal ini disebabkan oleh ekosistem fleksibel Android yang mendorong keragaman dan penyesuaian.

Penting untuk dicatat bahwa meskipun layak untuk mencakup peluncur Android paling populer, hampir tidak mungkin untuk melayani setiap peluncur, mengingat banyaknya peluncur yang tersedia di pasar.

Dengan CommunityToolkit, kami memberi Anda cara menerapkan logika penghitung lencana Anda sendiri untuk penyedia yang ingin Anda dukung. Ini adalah bagaimana Anda dapat melakukan itu:

  1. Implementasikan CommunityToolkit.Maui.ApplicationModel.IBadgeProvider antarmuka. Lihat SamsungBadgeProvider implementasi sebagai contoh: SamsungBadgeProvider.
  2. Di konstruktor Android MainApplication , atur pengidentifikasi peluncur ke implementasi Anda IBadgeProvider ". Misalnya peluncur Samsung akan terlihat seperti ini:
public MainApplication(IntPtr handle, JniHandleOwnership ownership)
    : base(handle, ownership)
{
    var samsungProvider = new SamsungBadgeProvider();

    BadgeFactory.SetBadgeProvider("com.sec.android.app.launcher", samsungProvider);
    BadgeFactory.SetBadgeProvider("com.sec.android.app.twlauncher", samsungProvider);
}
  1. Tambahkan izin yang diperlukan ke AndroidManifest.xaml. Misalnya peluncur Samsung akan terlihat seperti ini:
<uses-permission android:name="com.sec.android.provider.badge.permission.READ" />
<uses-permission android:name="com.sec.android.provider.badge.permission.WRITE" />

Perubahan ini cukup bagi aplikasi Anda untuk berjalan pada perangkat Samsung berbasis Android dan memperbarui nomor lencana ikon aplikasi dengan benar. Ini juga memberi Anda titik awal dan panduan tentang bagaimana Anda dapat mulai menerapkan dukungan untuk peluncur lain dalam aplikasi Anda.

Oleh karena itu, meskipun kode kami bertujuan untuk memberikan implementasi yang ideal, mungkin ada instans di mana Android tidak akan berulah seperti yang diharapkan.

Kami sangat menyarankan untuk menguji aplikasi Anda secara menyeluruh di berbagai perangkat dan peluncur untuk penilaian yang paling akurat tentang bagaimana pemberitahuan lencana aplikasi berperilaku dalam kasus penggunaan spesifik Anda.