L'AppFramework di AppStudio fornisce un plug-in di Notifica che contiene gli strumenti necessari ad avvisare e informare gli utenti dell'app a livello di sistema operativo al di fuori dell'app.
Per avere un esempio di questa funzionalità, servirsi dell'app di esempio disponibile su ArcGIS AppStudio o nel repository GitHub degli esempi di AppStudio.
Notifiche locali
Il componente NotificheLocali fornisce la capacità di implementare notifiche destinate all'utente finale. Le notifiche locali, che non vanno confuse con le notifiche push, provenienti da un servizio cloud esterno, provengono dall'app e vengono attivate internamente alla stessa. Per utilizzare il componente NotificheLocali, è necessario includere prima la seguente istruzione di importazione:
import ArcGIS.AppFramework.Notifications.Local 1.0
Una notifica locale richiede la configurazione dei tre parametri seguenti:
- Titolo del messaggio
- Contenuto del messaggio
- Tempo di attesa dopo il quale la notifica sarà visualizzata, misurata in millisecondi.
Questi parametri possono essere gestiti tramite il metodo di schedule, che imposta l'attivazione della notifica dopo un determinato numero di millisecondi e fornisce un ID per la notifica, che potrà essere usato dal metodo di clear per l'eliminazione della stessa.
Una volta che una notifica è stata programmata, non è necessario che l'app sia aperta o in esecuzione affinché la notifica sia visualizzata. Il seguente codice di esempio è basato sul modello Quick Report e fa uso di NotificheLocali, impostando una notifica affinché venga visualizzata un'ora dopo l'invio del relativo report, per ricordare all'utente di inviare un report di follow-up:
LocalNotification {
id: notification
onTriggered: {
console.log("Triggered ID: ", id)
}
}
Component {
id: addDetailsPage
AddDetailsPage {
onNext: {
if(message=="submit"){
submitReport()
notification.schedule("Submit Follow-Up Report", "An hour has passed since your initial report. Please send a follow-up report.", 3600000)
} else{
stackView.showResultsPage()
saveReport()
}
}
onPrevious: {
stackView.pop();
}
}
}
Vibrazione
Oltre alle notifiche locali, che forniscono un metodo di notifica visivo, è possibile implementare feedback non visivi, utilizzando il componente Vibrazione. La Vibrazione è comunemente usata per mettere in evidenza determinate azioni o per notificare qualcosa all'utente, ma l'uso più frequente è quello combinato con una notifica, per avvisare l'utente di guardare il proprio dispositivo. Per usare il componente Vibrazione, immettere la seguente istruzione di importazione:
import ArcGIS.AppFramework.Notifications 1.0
La vibrazione è un componente singleton, ciò significa che non è possibile creare istanze. Il seguente esempio di codice accompagnerà tutte le notifiche locali programmate dall'app con una vibrazione. Se il dispositivo non supporta la vibrazione, al suo posto verrà visualizzato un messaggio nel log della console.
LocalNotification {
id: notification
onTriggered: {
console.log("Triggered ID: ", id)
if(Vibration.supported) {
Vibration.vibrate()
}
else{
console.log("Vibration not supported on this device.")
}
}
}
Attualmente, non è possibile determinare la durata del componente Vibrazione. Sui dispositivi Android, la vibrazione dura circa un secondo; in altri dispositivi, dipende dall'impostazione predefinita del sistema.