AppStudio AppFramework는 앱 범위 밖의 운영 체제 레벨에서 앱 사용자에게 알리는 도구가 포함되어 있는 알림 플러그인을 제공합니다.
이 기능의 예시로 ArcGIS AppStudio 또는 AppStudio 샘플 GitHub 리포지토리에서 제공되는 샘플 앱을 참고하세요.
로컬 알림
LocalNotification 컴포넌트는 최종 사용자에 대한 알림을 구현할 수 있는 기능을 제공합니다. 외부 클라우드 서비스에서 발송되는 푸시 알림과는 달리 로컬 알림은 앱에서 발송되며 내부적으로 트리거됩니다. LocalNotification 컴포넌트를 사용하려면 먼저 다음과 같은 가져오기 문을 포함해야 합니다.
import ArcGIS.AppFramework.Notifications.Local 1.0
로컬 알림을 사용하려면 다음과 같은 3개 매개변수를 예약해야 합니다.
- 메시지 제목
- 메시지 내용
- 알림이 표시되기까지의 시간 지연(밀리초 단위)입니다.
이러한 매개변수는 schedule 메소드에 의해 처리됩니다. 이 메소드는 지정된 밀리 초 후에 알림을 설정하고 clear 메소드에서 제거하기 위해 사용할 수 있는 알림을 위한 ID를 제공합니다.
알림을 예약한 후에는 알림 표시를 위해 앱이 집중하고 있거나 실행 중일 필요가 없습니다. 다음 코드 샘플은 빠른 보고서 템플릿에서 발췌한 코드로서, LocalNotification을 사용하여 보고서 전송 1시간 후에 알림이 나타나 사용자에게 후속 보고서 전송을 상기시켜줍니다.
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();
}
}
}
진동
가시적 형태의 알림을 제공하는 로컬 알림 이외에 Vibration 컴포넌트를 사용하여 비가시적 피드백을 구현할 수도 있습니다. 일반적으로 진동은 작업을 강조하거나 사용자에게 알리는 데 사용되지만, 알림과 함께 사용되어 사용자에게 자신의 기기를 확인하도록 하는 데 가장 많이 사용됩니다. Vibration 컴포넌트를 사용하려면 다음과 같은 가져오기 문을 포함해야 합니다.
import ArcGIS.AppFramework.Notifications 1.0
Vibration은 인스턴스화할 수 없는 싱글톤 컴포넌트입니다. 다음 코드 샘플을 실행하면 앱에 예약된 모든 로컬 알림이 진동과 함께 나타납니다. 기기가 진동을 지원하지 않으면, 메시지가 대신 콘솔 로그에 나타납니다.
LocalNotification {
id: notification
onTriggered: {
console.log("Triggered ID: ", id)
if(Vibration.supported) {
Vibration.vibrate()
}
else{
console.log("Vibration not supported on this device.")
}
}
}
현재, 진동 컴포넌트에 지속 시간을 제공할 방법이 없습니다. Android 기기의 경우 진동은 1초 동안 지속되며 다른 기기에서는 시스템 기본값을 사용합니다.