Udostępnij za pośrednictwem


Odznaka

Interfejs Badge API umożliwia deweloperom ustawianie numeru znaczka ikony aplikacji na ekranie głównym.

Screenshot of an Badge on Windows


Do korzystania z interfejsu Badge API wymagane są następujące warunki wstępne:

Dodatkowa konfiguracja wymagana do obsługi urządzeń z systemem Android. Zobacz sekcję systemu Android poniżej.

Składnia

C#

Interfejs Badge API można używać w następujący sposób w języku C#:

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

Metody

Metoda opis
SetCount Ustaw liczbę znaczek.

Rejestracja zależności

Jeśli chcesz użyć wbudowanej warstwy wstrzykiwania zależności w programie .NET MAUI, musisz najpierw zarejestrować implementację Badge wewnątrz obiektu MauiProgram. Zaktualizuj MauiProgram.cs przy użyciu następnych zmian:

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

Teraz możesz wstrzyknąć usługę w następujący sposób:

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

Przykłady

Przykład interfejsu Badge API można znaleźć w akcji w przykładowej aplikacji zestawu narzędzi .NET MAUI Community Toolkit.

interfejs API

Kod źródłowy interfejsu Badge API można znaleźć w repozytorium GitHub zestawu narzędzi .NET MAUI Community Toolkit.

Android

Ostrzeżenie

Ze względu na zróżnicowany krajobraz producentów i uruchamiania urządzeń z systemem Android należy pamiętać, że mogą istnieć nieprzewidywalne różnice w sposobie wyświetlania liczby znaczków aplikacji lub nie są wyświetlane na różnych urządzeniach.

W świecie android, jeden rozmiar rzadko pasuje do wszystkich. Ta zasada ma zastosowanie w przypadku ustawiania liczby znaczków aplikacji ze względu na brak ustandaryzowanego interfejsu API udostępnianego przez system Android dla tej funkcji.

Różne moduły uruchamiane systemu Android zdecydowały się zaimplementować liczby znaczków w unikatowy sposób. Większość uruchamiania, w tym popularne programy, takie jak Nova Launcher, Microsoft Launcher itp., mają określone metody obsługi tej funkcji.

W związku z tym, aby upewnić się, że powiadomienia znaczka aplikacji są prawidłowo wyświetlane w tych zróżnicowanych modułach uruchamiania, należy uciekać się do programowania określonych implementacji kodu dla każdego modułu uruchamiającego. Oznacza to dostosowanie kodu do określonych wymagań mechanizmu wskazującego liczbę znaczek każdego modułu uruchamiania.

Rozważ to jako przeszkodę, którą deweloperzy muszą przezwyciężyć, na drodze do osiągnięcia uniwersalnego środowiska aplikacji. Wynika to z elastycznego ekosystemu systemu Android, który zachęca do różnorodności i dostosowywania.

Ważne jest, aby pamiętać, że chociaż jest to możliwe do pokrycia najpopularniejszych wyrzutni Android, byłoby prawie niemożliwe, aby zaspokoić każdy z nich, biorąc pod uwagę sama liczba wyrzutni dostępnych na rynku.

Dzięki zestawowi CommunityToolkit możemy zaimplementować własną logikę licznika znaczków dla dostawców, którzy mają być wspierani. W ten sposób można to zrobić:

  1. Zaimplementuj interfejs CommunityToolkit.Maui.ApplicationModel.IBadgeProvider. Zobacz SamsungBadgeProvider przykład implementacji: SamsungBadgeProvider.
  2. W konstruktorze systemu Android MainApplication ustaw identyfikator uruchamiania na implementację IBadgeProvider . Na przykład moduł uruchamiający Samsung wygląda następująco:
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. Dodaj wymagane uprawnienia do elementu AndroidManifest.xaml. Na przykład moduł uruchamiający Samsung wygląda następująco:
<uses-permission android:name="com.sec.android.provider.badge.permission.READ" />
<uses-permission android:name="com.sec.android.provider.badge.permission.WRITE" />

Te zmiany są wystarczające, aby aplikacja mogła działać na urządzeniu Samsung z systemem Android i poprawnie zaktualizować numer znaczka ikon aplikacji. Zawiera on również punkt wyjścia i przewodnik dotyczący sposobu, w jaki można rozpocząć implementowanie obsługi innych modułów uruchamianych w aplikacji.

W związku z tym, chociaż nasz kod ma na celu zapewnienie idealnej implementacji, mogą istnieć wystąpienia, w których system Android nie będzie działać zgodnie z oczekiwaniami.

Zdecydowanie zalecamy dokładne przetestowanie aplikacji na różnych urządzeniach i modułach uruchamianych w celu uzyskania najdokładniejszej oceny zachowania powiadomień znaczków aplikacji w konkretnym przypadku użycia.