Powiadomienia

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.