Moduł AppFramework aplikacji AppStudio udostępnia wtyczkę Powiadomienia oferującą narzędzia wyświetlające użytkownikom aplikacji powiadomienia i informacje na poziomie systemu operacyjnego, których nie ma w używanej aplikacji.
Jako ilustracja tej funkcjonalności może służyć przykładowa aplikacja dostępna w aplikacji ArcGIS AppStudio lub w repozytorium GitHub udostępniającym przykładowe rozwiązania dla aplikacji AppStudio.
Lokalne powiadomienia
Komponent LocalNotification umożliwia zaimplementowanie powiadomień dla użytkowników końcowych. Powiadomienia lokalne pochodzą z aplikacji i są wyzwalane wewnętrznie. Nie należy ich mylić z powiadomieniami dostarczanymi, które pochodzą z zewnętrznych usług chmurowych. Aby korzystać z komponentu LocalNotification, należy najpierw dołączyć poniższą instrukcję importu:
import ArcGIS.AppFramework.Notifications.Local 1.0
Aby lokalne powiadomienie mogło być zaplanowane, wymagane są następujące trzy parametry:
- Tytuł komunikatu
- Zawartość komunikatu
- Opóźnienie czasowe, po którym powiadomienie zostaje wyświetlone, mierzone w milisekundach.
Te parametry są obsługiwane przez metodę schedule, która ustawia wyzwolenie powiadomienia po upływie określonej liczby milisekund i udostępnia identyfikator powiadomienia, który następnie może być wykorzystany przez metodę clear do jego usunięcia.
Po zaplanowaniu powiadomienia może ono zostać wyświetlone, nawet jeśli aplikacja nie jest aktualnie widoczna na ekranie; nie musi ona być nawet uruchomiona. Poniższy przykładowy kod jest oparty na szablonie Szybki raport i używa komponentu LocalNotification, ustawiając wyświetlenie powiadomienia po upływie godziny od wysłania raportu celem przypomnienia użytkownikowi o konieczności wysłania dalszego raportu:
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();
}
}
}
Drgania
W uzupełnieniu do lokalnych powiadomień, będących wizualną formą powiadamiania, można także zaimplementować niewizualną postać informacji zwrotnej przy użyciu komponentu Wibracje. Zwykle wibracje są używane w celu wyróżnienia działań lub powiadomienia użytkownika, ale najczęściej korzysta się z nich w połączeniu z powiadomieniem w celu skłonienia użytkownika do spojrzenia na urządzenie. Aby korzystać z komponentu Wibracje, należy dołączyć poniższą instrukcję importu:
import ArcGIS.AppFramework.Notifications 1.0
Wibracje to komponent typu singleton, co oznacza, że nie można utworzyć jego instancji. Poniższy przykładowy kod dodaje wibracje do wszystkich lokalnych powiadomień zaplanowanych w aplikacji. Jeśli urządzenie nie obsługuje wibracji, wówczas komunikat pojawi się w dzienniku konsoli.
LocalNotification {
id: notification
onTriggered: {
console.log("Triggered ID: ", id)
if(Vibration.supported) {
Vibration.vibrate()
}
else{
console.log("Vibration not supported on this device.")
}
}
}
Aktualnie w przypadku komponentu Wibracje nie ma możliwości wprowadzenia czasu trwania. W urządzeniach z systemem Android wibracje trwają jedną sekundę, w pozostałych urządzeniach obowiązuje domyślne ustawienie systemowe.