Share via


Rozet

Badge API, geliştiricilerin giriş ekranında uygulama simgesi rozet numarasını ayarlamasına olanak tanır.

Screenshot of an Badge on Windows


API'yi kullanmak Badge için aşağıdaki önkoşullar gereklidir:

Android cihazları desteklemek için ek yapılandırma gerekir. Aşağıdaki Android bölümüne bakın.

Sözdizimi

C#

Badge API, C# dilinde aşağıdaki gibi kullanılabilir:

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

Yöntemler

Metot Açıklama
SetCount Rozet sayısını ayarlayın.

Bağımlılık Kaydı

.NET MAUI içindeki yerleşik bağımlılık ekleme katmanını kullanmak istiyorsanız, önce uygulamasını içine kaydetmeniz BadgeMauiProgramgerekir. Sonraki değişikliklerle güncelleştirin MauiProgram.cs :

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

Artık hizmeti şu şekilde ekleyebilirsiniz:

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

Örnekler

API'nin bir örneğini Badge .NET MAUI Community Toolkit Örnek Uygulaması'nda bulabilirsiniz.

API

API'nin Badgekaynak kodunu .NET MAUI Community Toolkit GitHub deposunda bulabilirsiniz.

Android

Uyarı

Android cihaz üreticilerinin ve başlatıcılarının çeşitli manzaralarından dolayı, uygulama rozeti sayılarının farklı cihazlarda nasıl görüntülendiği veya görüntülenmediği konusunda öngörülemeyen varyasyonlar olabileceğini lütfen unutmayın.

Android dünyasında, bir boyut nadiren tümüne uyar. Bu ilke, bu işlev için Android sistemi tarafından sağlanan standartlaştırılmış bir API'nin olmaması nedeniyle uygulama rozeti sayılarını ayarlama konusunda geçerlidir.

Farklı Android başlatıcıları, rozet sayılarını benzersiz bir şekilde uygulamayı seçti. Nova Launcher, Microsoft Launcher vb. gibi popüler başlatıcıların çoğu bu özelliği işlemek için kendi yöntemlerine sahiptir.

Sonuç olarak, uygulamanızın rozet bildirimlerinin bu farklı başlatıcılarda doğru görünmesini sağlamak için her başlatıcı için belirli kod uygulamalarını programlamaya başvurmanız gerekir. Bu, kodunuzu her başlatıcının benzersiz rozet sayısını belirten mekanizmasının belirli gereksinimlerine uyarlamak anlamına gelir.

Bunu, evrensel bir uygulama deneyimine ulaşma yolunda geliştiricilerin aşması gereken bir engel olarak düşünün. Bunun nedeni, Android'in çeşitliliği ve özelleştirmeyi teşvik eden esnek ekosistemidir.

En popüler Android başlatıcılarını kapsamak mümkün olsa da, piyasada mevcut olan çok sayıda başlatıcı göz önüne alındığında her birine hitap etmek neredeyse imkansız olacaktır.

CommunityToolkit ile, desteklemek istediğiniz sağlayıcılar için kendi rozet sayacı mantığınızı uygulama yönteminizi sunuyoruz. Bunu şu şekilde yapabilirsiniz:

  1. CommunityToolkit.Maui.ApplicationModel.IBadgeProvider arabirimini gerçekleştirin. Örnek olarak uygulamaya bakın SamsungBadgeProvider : SamsungBadgeProvider.
  2. Android MainApplication oluşturucusunda başlatıcı tanımlayıcısını uygulamanız IBadgeProvider olarak ayarlayın". Örneğin Samsung başlatıcısı şöyle görünür:
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. gerekli izinleri öğesine AndroidManifest.xamlekleyin. Örneğin Samsung başlatıcısı şöyle görünür:
<uses-permission android:name="com.sec.android.provider.badge.permission.READ" />
<uses-permission android:name="com.sec.android.provider.badge.permission.WRITE" />

Bu değişiklikler uygulamanızın Android tabanlı bir Samsung cihazında çalışması ve uygulama simgeleri rozet numarasını doğru şekilde güncelleştirmesi için yeterlidir. Ayrıca, uygulamanızdaki diğer başlatıcılar için destek uygulamaya nasıl başlayıp başlatabileceğinize ilişkin bir başlangıç noktası ve kılavuz sağlar.

Bu nedenle, kodumuz ideal bir uygulama sağlamayı hedeflese de, Android'in beklendiği gibi davranmadığı örnekler olabilir.

Uygulama rozeti bildirimlerinin özel kullanım örneğinizde nasıl davrandığını en doğru şekilde değerlendirmek için uygulamanızı bir dizi cihaz ve başlatıcıda kapsamlı bir şekilde test etmenizi kesinlikle öneririz.