Toast Notification trong Windows Phone

Toast là đoạn thông báo ở trên top màn hình Windows Phone, Toast được dùng rất nhiều trong ứng dụng WP để thông báo có tin mới.

http://phamnguyen.info/wp-content/uploads/2013/05/Capture.png

 

Trong bài này mình xin chia sẻ về Toast Notification trong Windows Phone.

Fundamental

1. Nguyên lý hoạt động

Toast Notification sẽ hiện trong khoảng 10 giây và sau đó Toast sẽ tự động tắt đi, nếu như phone đang ở trong thái khóa thì màn hình khóa sẽ mở lên và bạn sẽ thấy toast, Khi người dùng tap vào toast thì sẽ chuyển tới ứng dụng.

Toast Notification chỉ có tác dụng khi ứng dụng không ở trạng thái running. Và chúng ta chỉ có thể tạo Toast bằng cách thông qua Service hay từ Background Agent Local,

2. Cấu trúc Toast

Toast được hiện hóa qua đối tượng lớp ShellToast thuộc namespace Microsoft.Phone.Shell .

Cấu trúc ShellToast khá đơn giản như hình phía dưới.

http://phamnguyen.info/wp-content/uploads/2013/05/image1.png

Khi developer thêm đầy đủ thông tin ShellToast thì gọi phương thức Show để hiện Toast. Tuy nhiên phương thức Show này chỉ dành cho Toast Nofitication local.

3. Tạo Toast Notification Local

Để tạo Toast Notification Local trước tiên chúng ta phải tạo Background Task Agent, và sau đó xử lý trong phương thức OnInvoke()

http://phamnguyen.info/wp-content/uploads/2013/05/image2.png

Chúng ta có kết quả phía Local như sau :

http://i.msdn.microsoft.com/dynimg/IC627800.png

4. Tạo Toast Notification từ Service

Gửi Toast Notification từ Service về máy là tính năng Push Notification trong Windows Phone các bạn nên đọc bài viết trước của mình hiểu cơ chế .

Cơ bản là phía Service sẽ gửi một Request đính kèm chuổi Xml cú pháp của Toast lên Microsoft Notification Service, sau đó Microsoft Notification Service sẽ Push về phía Phone.

Chuổi Xml như sau :

http://phamnguyen.info/wp-content/uploads/2013/05/image3.png

Vế dưới Phone chúng ta sẽ nhận giá trị thông qua các Key như Text1, Text2 tương ứng.

Ngoài ra Param là đường dẩn để Page mà chúng ta sẽ mở lên khi tap vào Toast Notification trong đó có thể có các QueryString.

Kết quả sẽ như sau :

http://i.msdn.microsoft.com/dynimg/IC627801.png

Mình sẽ viết một ví dụ cụ thể hơn về Push Notification ở các bài sau, ngay khi việc chia sẻ những lý thuyết liên quan sẵng sàng.

Hy vọng bài viết sẽ hữu ích với các bạn !

Theo phamnguyen.info