Notice»

Recent Post»

Recent Comment»

Recent Trackback»

Archive»

« 2024/12 »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31

4. 토스트(Toast) 알림

 

토스트 알림은 정보를 사용자에게 제공해주는 알림 메시지이며 타 모바일 플랫폼에서도 같은 명칭으로 사용되고 있다. 기존 윈도우에서 메시지 박스와 비슷한 역할을 하며 푸쉬 알림과도 연동이 되므로 인스턴트 메시지 및 뉴스, 알람, 일정 관리 등의 앱에서 정보를 표시해줄 때 사용할 수 있다. 토스트는 일반적으로 윈도우8의 오른쪽 상단에 표시되며(PC의 설정에 따라 왼쪽에 보일 수 있음) 윈도우8의 잠금 화면을 비롯한 어떤 화면에서도 표시된다.

앱에서 토스트 알림을 사용하기 위해서는 앱 매니페스트 파일의 Application UI 탭에서 Toast capable Yes로 설정해야 된다. 설정이 안되어 있으면 토스트 API를 호출 해도 화면에 표시 되지 않는다. 기본 타일에서 설명했던 Foreground text Background color 설정도 토스트의 색상에 영향을 미친다. 또한 Small logo에 설정했던 이미지가 토스트의 오른쪽 아래에 표시된다.

 

 

 <그림8> 토스트 알림

 

토스트도 타일과 같이 템플릿을 이용해서 알림을 제공하며 텍스트, 이미지를 표시 가능하다. 버튼 과 같은 기능은 추가 할 수 없다.

 

[예제 9] 토스트 알림

string toastXmlString = "<toast>"

                        + "<visual version='1'>"

                        + "<binding template='ToastText01'>"

                        + "<text id='1'>토스트 알림</text>"

                        + "</binding>"

                        + "</visual>"

                        + "</toast>";

 

Windows.Data.Xml.Dom.XmlDocument toastDOM = new Windows.Data.Xml.Dom.XmlDocument();

toastDOM.LoadXml(toastXmlString);

           

ToastNotification toast = new ToastNotification(toastDOM);

ToastNotificationManager.CreateToastNotifier().Show(toast);

 

예제 9의 토스트 알림 코드를 보면 토스트 템플릿 구조도 tile toast로 바꿨을 뿐이며 실제 객체에 업데이트 시도 ToastNotification ToastNotificationManager로 타일 알림과 비슷함을 알 수 있다.

 

타일 알림과 달리 토스트에서는 오디오가 재생될 수 있으며 화면에 표시되는 시간을 좀더 오래 표시되도록 할 수 있다.

[예제 10] 장기 알림 및 반복 오디오

string toastXmlString = "<toast duration='long'>"

                        + "<visual version='1'>"

                        + "<binding template='ToastText02'>"

                        + "<text id='1'>장기 알림</text>"

                        + "<text id='2'>반복 오디오</text>"

                        + "</binding>"

                        + "</visual>"

                        + "<audio loop='true' src='ms-winsoundevent:Notification.Looping.Alarm'/>"

                        + "</toast>";

 

Windows.Data.Xml.Dom.XmlDocument toastDOM = new Windows.Data.Xml.Dom.XmlDocument();

toastDOM.LoadXml(toastXmlString);

 

ToastNotification toast = new ToastNotification(toastDOM);

ToastNotificationManager.CreateToastNotifier().Show(toast);

 

일반적인 토스트의 알림 시간은 7초이며 toast 태그의 duration 속성에 long을 적용하면 25초 동안 화면에 표시된다. short duration 태그를 생략하면 기존 7초로 적용된다.

토스트 알림과 함께 오디오를 출력할 수가 있는데 예제 10와 같이 토스트의 visual 요소 밑에 audio를 추가해서 소리를 출력할 수 있다. src를 통해 시스템에 등록된 오디오를 입력해주고 loop true 또는 false를 입력해서 토스트가 표시되는 동안 반복되게 할 수 있다. 또한 silent 속성에true 또는 false를 입력해서 오디오 재생 유무를 설정할 수도 있다. 장기 알림과 반복 오디오 출력은 voip나 인스턴트 메시지 앱의 메시지를 알리는 유무로 사용하면 된다.

 

: