Badge
L'API Badge
consente agli sviluppatori di impostare il numero di badge dell'icona dell'app nella schermata iniziale.
Per usare l'API Badge
sono necessarie le precondizioni seguenti:
Configurazione aggiuntiva necessaria per supportare i dispositivi Android. Vedere la sezione Android di seguito.
Sintassi
C#
L'API Badge
può essere usata come indicato di seguito in C#:
void SetCount(uint value)
{
Badge.Default.SetCount(value);
}
Metodi
metodo | Descrizione |
---|---|
SetCount | Impostare il conteggio delle notifiche. |
Registrazione delle dipendenze
Se si vuole usare il livello di inserimento delle dipendenze predefinito all'interno di .NET MAUI, è necessario prima registrare l'implementazione Badge
all'interno di MauiProgram
.
Eseguire l'aggiornamento MauiProgram.cs
con le modifiche successive:
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();
}
}
Ora è possibile inserire il servizio come segue:
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);
}
}
Esempi
È possibile trovare un esempio dell'API in azione nell'applicazione Badge
di esempio .NET MAUI Community Toolkit.
API
È possibile trovare il codice sorgente per l'API Badge
nel repository GitHub .NET MAUI Community Toolkit.
Android
Avviso
A causa del panorama diversificato dei produttori di dispositivi Android e delle utilità di avvio, tenere presente che potrebbero esserci variazioni imprevedibili nel modo in cui i conteggi delle notifiche dell'app vengono visualizzati o non visualizzati in dispositivi diversi.
Nel mondo di Android, una dimensione raramente si adatta a tutti. Questo principio vale quando si tratta di impostare i conteggi delle notifiche dell'applicazione, a causa della mancanza di un'API standardizzata fornita dal sistema Android per questa funzionalità.
Diversi launcher Android hanno scelto di implementare i conteggi delle notifiche nel modo unico. La maggior parte dei launcher, inclusi quelli più diffusi come Nova Launcher, Microsoft Launcher e così via, hanno i metodi specifici per gestire questa funzionalità.
Di conseguenza, per assicurarsi che le notifiche badge dell'applicazione vengano visualizzate correttamente in queste diverse utilità di avvio, è necessario ricorrere alla programmazione di implementazioni di codice specifiche per ogni utilità di avvio. Ciò significa adattare il codice ai requisiti specifici del conteggio delle notifiche univoco di ogni utilità di avvio.
Consideralo un ostacolo che gli sviluppatori devono superare, nel percorso verso il raggiungimento di un'esperienza applicativa universale. Questo è dovuto all'ecosistema flessibile di Android che incoraggia la diversità e la personalizzazione.
È importante notare che, sebbene sia possibile coprire i launcher Android più popolari, sarebbe quasi impossibile soddisfare ogni singolo, dato il numero più ampio di launcher disponibili sul mercato.
Con CommunityToolkit ti forniamo il modo in cui implementare la tua logica di contatore badge per i provider che vuoi supportare. Questo è il modo in cui è possibile eseguire questa operazione:
- Implementare l'interfaccia
CommunityToolkit.Maui.ApplicationModel.IBadgeProvider
. VedereSamsungBadgeProvider
l'implementazione come esempio: SamsungBadgeProvider. - Nel costruttore Android
MainApplication
impostare l'identificatore dell'utilità di avvio sull'implementazioneIBadgeProvider
". Ad esempio, l'utilità di avvio Samsung sarà simile alla seguente:
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);
}
- Aggiungere le autorizzazioni necessarie a
AndroidManifest.xaml
. Ad esempio, l'utilità di avvio Samsung sarà simile alla seguente:
<uses-permission android:name="com.sec.android.provider.badge.permission.READ" />
<uses-permission android:name="com.sec.android.provider.badge.permission.WRITE" />
Queste modifiche sono sufficienti per l'esecuzione dell'applicazione in un dispositivo Samsung basato su Android e aggiornare correttamente il numero di badge delle icone dell'app. Offre anche un punto di partenza e una guida su come iniziare a implementare il supporto per altri utilità di avvio all'interno dell'applicazione.
Pertanto, mentre il codice mira a fornire un'implementazione ideale, potrebbero esserci istanze in cui Android non si comporta come previsto.
È consigliabile testare accuratamente l'app in un'ampia gamma di dispositivi e utilità di avvio per la valutazione più accurata del comportamento delle notifiche badge dell'app nel caso d'uso specifico.
.NET MAUI Community Toolkit