Le notifiche sugli smartwatch utilizzano le stesse API e hanno la stessa struttura delle notifiche sullo smartphone.
Le notifiche possono essere visualizzate su uno smartwatch in due modi:
- Un'app mobile crea una notifica e il sistema la collega automaticamente allo smartwatch.
- Un'app indossabile crea una notifica.
In entrambi gli scenari, utilizza la classe NotificationCompat.Builder
per creare notifiche. Quando crei notifiche con la classe del builder, il sistema si occupa di visualizzarle correttamente. Ad esempio, quando invii una notifica
dall'app mobile, ogni notifica viene visualizzata sotto forma di scheda nello stream delle notifiche.
Esamina l'esempio che segue per vedere come vengono visualizzate le notifiche.
Utilizza una delle sottoclassi NotificationCompat.Style
per ottenere risultati ottimali.
Nota:
con l'uso di RemoteViews
vengono rimosse le notifiche dei layout personalizzati e il dispositivo indossabile mostra solo il testo e le icone.
Notifiche consigliate per gli indossabili
Usa le notifiche espandibili come punto di partenza per tutte le notifiche, poiché sono un ottimo modo per coinvolgere gli utenti indossabili. Lo stato compresso viene visualizzato nella barra delle notifiche per una breve esperienza di navigazione. Se l'utente la tocca, la notifica si espande e mostra un'esperienza immersiva e scorrevole di contenuti e azioni aggiuntivi.
Puoi creare una notifica espandibile come faresti sui dispositivi mobili, utilizzando una qualsiasi delle sottoclassi NotificationCompat.Style
. Ad esempio, una notifica standard che utilizza
NotificationCompat.MessagingStyle
ha il seguente aspetto:
Puoi vedere che la notifica ha più azioni impilate nella parte inferiore dello stato espanso.
Per esempi di
NotificationCompat.BigPictureStyle
,
NotificationCompat.BigTextStyle
,
NotificationCompat.InboxStyle
e NotificationCompat.MessagingStyle
,
controlla l'esempio di notifica
su GitHub.
Suggerimento: se le notifiche includono un'azione di "risposta", come nel caso di un'app
di messaggistica, puoi migliorare il comportamento della notifica. Ad esempio, puoi attivare le risposte all'input vocale direttamente dal dispositivo indossabile o risposte di testo predefinite con setChoices()
.
Per maggiori informazioni, consulta
Aggiungere il pulsante di risposta.
Evita notifiche duplicate
Per impostazione predefinita, le notifiche vengono collegate dall'app per smartphone complementare a qualsiasi smartwatch accoppiato. Si tratta di un'ottima opzione se non hai installato un'app indossabile.
Tuttavia, se crei un'app autonoma per l'orologio e un'app per telefono complementare, queste ultime creano notifiche duplicate.
Wear OS offre un modo per bloccare le notifiche duplicate grazie alle API Bridging. Per maggiori informazioni, consulta Opzioni di raggruppamento per le notifiche.
Aggiungere funzionalità specifiche per i dispositivi indossabili a una notifica
Se devi aggiungere funzionalità specifiche per i dispositivi indossabili a una notifica, ad esempio nascondere
l'icona di un'app dalla notifica indossabile o consentire agli utenti di dettare una risposta testuale
con un input vocale, puoi utilizzare la classe NotificationCompat.WearableExtender
per specificare le opzioni.
Per utilizzare questa API:
-
Crea un'istanza di
WearableExtender
, impostando le opzioni specifiche per i dispositivi indossabili per la notifica. -
Crea un'istanza di
NotificationCompat.Builder
, impostando le proprietà desiderate per la notifica come descritto in precedenza in questa guida. -
Chiama
extend()
sulla notifica e passa nelWearableExtender
. In questo modo, le opzioni indossabili vengono applicate alla notifica. -
Chiama
build()
per creare la notifica.
Nota:
se utilizzi NotificationManager
del framework,
alcune funzionalità di
NotificationCompat.WearableExtender
non funzioneranno, quindi assicurati di utilizzare
NotificationCompat
.
Puoi sincronizzare le eliminazioni o le cancellazioni delle notifiche su tutti i dispositivi dell'utente. Per sincronizzare un avviso, utilizza il metodo
setDismissalId()
. Per ogni notifica, trasmetti un ID univoco globale come stringa quando chiami setDismissalId()
. Quando la notifica viene ignorata, tutte le altre
notifiche con lo stesso ID per ignorare vengono ignorate sullo smartwatch e sullo
smartphone accoppiato. Per recuperare un ID ignorato, utilizza
getDismissalId()
.
Specifica le azioni solo per i dispositivi indossabili
Se vuoi che azioni diverse siano disponibili sullo smartwatch e sullo smartphone, utilizza
WearableExtender.addAction()
. Dopo aver aggiunto un'azione con questo metodo,
il dispositivo indossabile non mostra altre azioni aggiunte con
NotificationCompat.Builder.addAction()
. Le azioni aggiunte con
WearableExtender.addAction()
vengono visualizzate solo sul dispositivo indossabile, non
sullo smartphone.