다음을 통해 공유


배지

Badge API를 사용하면 개발자가 홈 화면에서 앱 아이콘 배지 번호를 설정할 수 있습니다.

Screenshot of an Badge on Windows


API를 사용 Badge 하려면 다음 사전 조건이 필요합니다.

Android 디바이스를 지원하는 데 필요한 추가 구성입니다. 아래 Android 섹션을 참조하세요.

구문

C#

API는 Badge C#에서 다음과 같이 사용할 수 있습니다.

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

메서드

메서드 설명
SetCount 배지 수를 설정합니다.

종속성 등록

.NET MAUI 내에서 기본 제공 종속성 주입 계층을 사용하려면 먼저 구현을 Badge 내부에 등록해야 합니다 MauiProgram. 다음 변경 내용으로 업데이트 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();
    }
}

이제 다음과 같이 서비스를 삽입할 수 있습니다.

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

예제

.NET MAUI 커뮤니티 도구 키트 샘플 애플리케이션에서 작동하는 API의 Badge예를 찾을 수 있습니다.

API

.NET MAUI 커뮤니티 도구 키트 GitHub 리포지토리에서 API에 대한 Badge 소스 코드를 찾을 수 있습니다.

Android

Warning

Android 디바이스 제조업체 및 시작 관리자의 다양한 환경으로 인해 앱 배지 수가 다른 디바이스에 표시되거나 표시되지 않는 방법에 예측할 수 없는 변화가 있을 수 있습니다.

안드로이드의 세계에서, 하나의 크기는 거의 모든 적합하지 않습니다. 이 원칙은 이 기능을 위해 Android 시스템에서 제공하는 표준화된 API가 없기 때문에 애플리케이션 배지 수를 설정할 때 적용됩니다.

다양한 Android 시작 관리자가 고유한 방식으로 배지 수를 구현하도록 선택했습니다. Nova 시작 관리자, Microsoft 시작 관리자 등과 같은 인기 있는 시작 관리자를 비롯한 대부분의 시작 관리자에는 이 기능을 처리하는 특정 방법이 있습니다.

따라서 이러한 다양한 시작 관리자에서 애플리케이션의 배지 알림이 올바르게 표시되도록 하려면 각 시작 관리자에 대한 특정 코드 구현을 프로그래밍해야 합니다. 즉, 각 시작 관리자의 고유한 배지 개수 표시 메커니즘의 특정 요구 사항에 맞게 코드를 조정합니다.

유니버설 애플리케이션 환경을 달성하기 위해 개발자가 극복해야 하는 장애물로 간주합니다. 이는 다양성과 사용자 지정을 장려하는 Android의 유연한 에코시스템 때문입니다.

그것은 가장 인기 있는 안 드 로이드 시작 관리자를 커버 하는 것이 가능 하는 동안 주의 하는 것이 중요 하다, 그것은 거의 불가능 한 모든 하나를 수용 하는 것, 시장에서 사용할 수 있는 시작 관리자의 깎아 지른듯한 수를 감안할 때.

CommunityToolkit를 사용하여 지원하려는 공급자에 대한 고유한 배지 카운터 논리를 구현하는 방법을 제공합니다. 이렇게 할 수 있는 방법은 다음과 같습니다.

  1. CommunityToolkit.Maui.ApplicationModel.IBadgeProvider 인터페이스를 구현합니다. 구현을 예제: SamsungBadgeProvider를 참조 SamsungBadgeProvider 하세요.
  2. Android MainApplication 생성자에서 시작 관리자 식별자를 구현으로 IBadgeProvider 설정합니다." 예를 들어 Samsung 시작 관리자의 모양은 다음과 같습니다.
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. 에 필요한 권한을 추가합니다 AndroidManifest.xaml. 예를 들어 Samsung 시작 관리자의 모양은 다음과 같습니다.
<uses-permission android:name="com.sec.android.provider.badge.permission.READ" />
<uses-permission android:name="com.sec.android.provider.badge.permission.WRITE" />

이러한 변경 내용은 애플리케이션이 Android 기반 Samsung 디바이스에서 실행되고 앱 아이콘 배지 번호를 올바르게 업데이트하기에 충분합니다. 또한 애플리케이션 내의 다른 시작 관리자에 대한 지원 구현을 시작하는 방법에 대한 시작점과 가이드를 제공합니다.

따라서 코드는 이상적인 구현을 제공하는 것을 목표로 하지만 Android가 예상대로 동작하지 않는 인스턴스가 있을 수 있습니다.

특정 사용 사례에서 앱 배지 알림이 작동하는 방식을 가장 정확하게 평가하려면 다양한 디바이스 및 시작 관리자에서 앱을 철저히 테스트하는 것이 좋습니다.