Bài viết trình bày các kết quả nghiên cứu cải thiện hệ thống thông tin nội bộ của trường Đại học Kinh tế Quốc dân đặc biệt là hệ thống gửi thông báo tự động trên nền tảng công nghệ Android.
ISSN 2354-0575 NGHIÊN CỨU HỆ THỐNG DỊCH VỤ GỬI TIN NHẮN TỰ ĐỘNG GCM VÀ ÁP DỤNG VÀO TRANG THÔNG TIN NỘI BỘ TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN Tống Thị Hảo Tâm, Phạm Thảo, Hà Lâm Tùng, Cao Thị Thu Hương, Tống Thị Minh Ngọc, Phạm Minh Hoàn Viện Công nghệ thông tin kinh tế (SITE), Trường Đại học Kinh tế quốc dân Ngày tòa soạn nhận báo: 20/06/2017 Ngày phản biện đánh giá sửa chữa: 22/08/2017 Ngày báo duyệt đăng: 25/08/2017 Tóm tắt: Một chức bật Ứng dụng di động (Mobile App) khả gửi thông báo tự động đến người dùng có thơng tin cập nhật từ phía Server GCM (Google Cloud Message) dịch vụ cho phép gửi tin nhắn có dung lượng nhỏ từ Server tới tất thiết bị kết nối mạng Việc nghiên cứu áp dụng GCM vào hệ thống dịch vụ web sẵn có giúp thiết bị di động request liên tục tới Server mà tự động nhận thơng báo có tin từ phía Server Việc nghiên cứu áp dụng GCM vào hệ thống thông tin nội trường Đại học kinh tế quốc dân mang lại nhiều giá trị tiện ích cho người sử dụng Từ khóa: Mobile App, Push Notifications, GCM, Trang thơng tin nội Đặt vấn đề Trong giai đoạn hội nhập kinh tế toàn cầu nay, việc nắm bắt thông tin cách kịp thời định lớn cho thành cơng lĩnh vực Có thể nói, trang thơng tin nội trường Đại học kinh tế quốc dân (ĐHKTQD) kênh tương tác quan trọng nhà trường với đội ngũ cán giảng viên công nhân viên Với thông tin quan trọng mang tính nội cập nhật với tần suất lớn việc sử dụng trang tin trở nên quen thuộc sử dụng với số lượng nhiều lần, đặc biệt với đội ngũ quản lý nhà trường Với tính có, trang thơng tin nội trường phần đáp ứng nhu cầu cung cấp thông tin cho người quan tâm Tuy nhiên, trang thông tin với công nghệ phát triển cũ đánh giá chưa thực đẹp, cịn thiếu nhiều tiện ích chưa thích ứng xem thiết bị smart phone Bên cạnh đó, thơng tin nội cập nhật trạng thái tĩnh dẫn đến thực trạng quên trễ thông tin đối tượng theo dõi không truy cập vào trang để xem thông tin kịp thời thông tin cập nhật vào trang thông tin nội không tự động thông báo đến đối tượng sử dụng Để đáp ứng tốt nhu cầu cán công nhân viên trường, đồng thời kịp thời theo dõi, nắm bắt thơng tin từ trang nội vấn đề cần đặt thông tin cập nhật vào trang thông tin nội cần tự động thông báo đến đối tượng sử dụng Bên cạnh đó, với xu hướng ngày phát triển cơng nghệ việc áp dụng đồng giải pháp mới, 76 công nghệ chăc chắn giúp trải nghiệm tốt cho cán giảng viên sử dụng hệ thống Với mục tiêu trên, tiến hành khảo sát phân tích tiến hành thiết kế, xây dựng lại hệ thống thông tin nội nhằm đáp ứng tốt nhu cầu đặt Việc nâng cấp nhắm đến cập nhật phiên Web thân thiện với thiết bị di động bổ sung tiện ích tảng di động nhằm tăng trải nghiệm với người sử dụng Một tính chúng tơi tập trung quan tâm nghiên cứu tính tự động thông báo đến đối tượng sử dụng thông tin cập nhật trang thông tin nội trường ĐHKTQD Trong khuôn khổ viết này, chúng tơi trình bày kết nghiên cứu cải thiện hệ thống thông tin nội trường ĐHKTQD đặc biệt hệ thống gửi thông báo tự động tảng công nghệ Android Cơ sở nghiên cứu 2.1 Mobile Friendly Hiện nay, việc sử dụng internet thông qua thiết bị di động điều tất yếu Vì vậy, thiết kế, xây dựng website cần tương thích (Responsive) với chế độ xem di động Khái niệm Mobile Friendly “Thân thiện với điện thoại di động”, cụm từ xuất phát từ thuật toán Mobile Friendly Ranking Hiểu đơn giản đánh giá việc hiển thị web mobile (di động) đọc, dễ nhìn, dễ tìm thơng tin, dễ sử dụng hay khơng ngồi cịn đánh giá có tăng tốc độ hiển thị hay khơng? Có thể thấy, nhược điểm dùng mobile để vào web mạng chậm, hình nhỏ Những Khoa học & Cơng nghệ - Số 15/Tháng - 2017 Journal of Science and Technology ISSN 2354-0575 website không thân thiện với di động thường phải phóng to hình để xem khiến người dùng cảm giác khó chịu, phức tạp Mobile Friendly giúp người dùng thoải mái lướt Web Khả tương thích website với loại di động thách thức không nhỏ nhà phát triển Bên cạnh việc tối ưu hóa website tương thích với thiết bị di động đáp ứng thói quen người sử dụng, cịn phải nhắc đến lý quan trọng tối ưu hóa cho Google - cơng cụ tìm kiếm lớn giới chiếm 90% thị phần người tìm kiếm Năm 2015, Google cập nhật thuật toán để đánh giá độ thân thiện website thiết bị di động Những website có thiết kế mobile friendly dễ Google ưu tiên tăng thứ hạng website công cụ tìm kiếm phiên mobile desktop, tức cải thiện khả hiển thị website Google Một website với thiết kế mobile friendly có yếu tố sau: - Tránh dùng phần mềm không phổ biến thiết bị di động Flash - Cỡ chữ dễ nhìn, dễ đọc mà khơng phải phóng to - Kích thước nội dung dễ nhìn, khơng phải phóng to, xoay ngang - Đặt liên kết cách giúp ấn tay dễ dàng mà khơng bị ấn đúp - Hình ảnh tối ưu để giảm dung lượng truy cập 2.2 Mobile App 2.2.1 Giới thiệu chung Mobile App Mobile Apps ứng dụng viết tảng hệ điều hành di động để người dùng tương tác đó, ứng dụng sử dụng cho thiết bị di động hay máy tính bảng, thơng qua “Cửa hàng trực tuyến” hãng App Store Apple hay Google Play Google Những ứng dụng lập trình phát triển dựa framework cho tảng Tại thời điểm có hai tảng dẫn đầu thị trường iOS Android, nhà phát triển cần App (ứng dụng) phải tạo hai App mơi trường Ngồi cịn tảng khác Windows Phone, Firefox mobile OS, RIM (blackberry OS)… Thiết kế ứng dụng mobile tương tự thiết kế trang web, có phần xây dựng giao diện (layout, icon) phần lập trình Việc lựa chọn tạo Mobile App hay Mobile Web phụ thuộc vào mục tiêu người xây dựng Nếu để phát triển trị chơi, ứng dụng có tính thơng báo hay ứng dụng nội tương tác với App lựa chọn tốt Nhưng mục tiêu cung cấp nội dung thân thiện với thiết bị di động cho đối tượng rộng Mobile Web lựa chọn tốt Trong số trường hợp, bạn định hai Mobile App Mobile Web Nhưng hệ thống cung cấp tin tức mặt thiết kế, người xây dựng lựa chọn xây dựng đồng thời hai hệ thống Hiện có loại App phổ biến: a) Native mobile app Đây loại App mà bạn tải nội dung xuống điện thoại truy cập vào chúng sử dụng Các app loại kể trị chơi (game), ứng dụng mạng xã hội Facebook, Twitter … Đối với App loại người dùng sử dụng mà khơng cần phải có internet (một số game bắt bạn phải có internet chơi đơn chúng cần đăng nhập, có mua bán vật phẩm bên chúng game online) Native mobile app mang lại trải nghiệm tốt cho người dùng Các Native mobile app hoạt động khơng có mạng tất file cần thiết tải xuống điện thoại Tuy nhiên, để phát triển bảo trì App tốn chi phí, thời gian Việc nâng cấp nội dung App không dễ dàng mà bắt buộc phải nâng cấp toàn ứng dụng b) Hybrid mobile app Đây App kết hợp điểm đặc trưng web app mobile app với Các App loại viết ngơn ngữ lập trình web (HTML5, CSS3 Javascript), sau đóng gói để trở thành giống native mobile app tải “Cửa hàng trực tuyến” Hybrid mobile app cho trải nghiệm người dùng điện thoại tốt, việc phát triển ứng dụng dù không đơn giản phức tạp native mobile app Việc cập nhật nội dung dễ dàng nội dung đồng [1,2,3] Bảng So sánh ưu, nhược điểm hai loại Mobile App Mobile App Native mobile app Mô tả Hybrid mobile app Ứng dụng cài đặt thiết bị di Phần website phát động triển để hiển thị di động Khoa học & Công nghệ - Số 15/Tháng - 2017 Journal of Science and Technology 77 ISSN 2354-0575 Thiết lập Phát triển ứng dụng cho hệ điều hành Chi phí phát triển bảo trì Tốn Cập nhật nội dung Nội dung cập nhật qua nâng cấp ứng dụng Trải nghiệm người dùng Rất tốt, phát triển hướng tới trải nghiệm người dùng di động Tốc độ Tùy thuộc cách ứng dụng viết Khả sử dụng Có thể sử dụng khơng có mạng Kích thước ứng dụng Tùy thuộc cách lập trình ứng dụng nhiên số native mobile apps games thường có xu hướng nặng phải tải toàn nội dung Chỉ cần phát triển container, nội dung từ website Ít tốn Nội dung cập nhật tùy website Tốt số trường hợp native mobile app Tùy thuộc tốc độ internet Không thể sử dụng khơng có mạng Tùy thuộc cách lập trình nhiên nhìn chung hybrid mobile apps thường có khả nhỏ cần tải phần cần thiết, nội dung chủ yếu từ website Hình 90% thời gian người dùng sử dụng điện thoại tương tác với mobile app, 10% sử dụng trình duyệt để truy cập internet [2,3,4] 2.2.2 Notification Chức bật Mobile App chức gửi thông báo tự động có thơng tin cập nhật App Một notification thơng báo hiển thị tới người dùng Thông báo hiển thị bên giao diện ứng dụng Khi lựa chọn cho phép hệ thống thông báo Notification xuất icon khu vực thơng báo sau để thấy chi tiết thông báo, người dùng mở Notification Drawer Cả khu vực thông báo drawer khu vực điều khiển hệ thống mà người dùng 78 quan sát lúc Các bước tạo gửi thông báo tảng Android: (i) Tạo Notification Builder: Tạo Notification Builder sử dụng phương thức NotificationCompat.Builder.build Việc sử dụng Notification Builder để thiết lập thuộc tính thơng báo đa dạng icon lớn, icon nhỏ, title, độ ưu tiên; (ii) Thiết lập thuộc tính cho thơng báo Khi có đối tượng Builder, tiếp tục thiết lập thuộc tính thơng báo sử dụng đối tượng Builder tùy theo yêu cầu của việc sử dụng App Có nhiều thuộc tính thiết lập cho thông báo Các thuộc Khoa học & Công nghệ - Số 15/Tháng - 2017 Journal of Science and Technology ISSN 2354-0575 tính tối thiểu sau phải thiết lập là: icon nhỏ, thiết lập setSmallIcon(), title, thiết lập setContentTitle(), Text chi tiết, thiết lập setContentText(); (iii) Đính kèm action: Bước khơng mang tính bắt buộc, thực người xây dựng App muốn gắn action với thông báo Một Action cho phép người dùng trực tiếp từ thông báo tới Activity ứng dụng, thấy nhiều kiện thực công việc khác Action định nghĩa PendingIntent chứa Intent mà bắt đầu Activity ứng dụng Để liên kết PendingIntent với động tác, gọi phương thức thích hợp NotificationCompat.Builder Ví dụ, muốn bắt đầu Activity người dùng click vào phần text Notification Drawer, cần thêm PendingIntent việc gọi phương thức setContentIntent() Một đối tượng PendingIntent giúp thực action ứng dụng, không quan tâm đến trạng thái chạy hay không ứng dụng Sử dụng đối tượng StackBuilder chứa backstack cho Activity bắt đầu Điều đảm bảo điều hướng từ Activity hình chính; (iv) Thơng báo Notification: Truyền đối tượng Notification tới hệ thống việc gọi NotificationManager.notify() để gửi thông báo Cần gọi phương thức NotificationCompat.Builder build() đối tượng Builder trước thông báo Phương thức kết hợp tất tùy chọn thiết lập trả đối tượng Notification [4,5] Sử dụng GCM gửi thông báo tự động cho Mobile App GCM (Google Cloud Messageing) dịch vụ Google phát triển giúp triển khai việc gửi tin nhắn từ server (máy chủ) tới Mobile (di động) Server nơi lưu trữ thông tin đồng thời phát tán tin thông báo Các kiểu liệu tin nhắn dung lượng nhỏ liệu có dung lượng 4kb trở xuống GCM xử lý liệu theo kiểu hàng đợi tin nhắn chuyển tới ứng dụng android dạng Push notification (đẩy lên thông báo) GCM thay cho phiên cũ beta C2DM (Cloud to Device Messaging) Đặc trưng GCM i) Cho phép server ứng dụng phía thứ gửi tin nhắn đến ứng dụng; ii) Phía ứng dụng không cần thiết phải chạy chức nhận tin nhắn liên tục GCM đánh thức thiết bị broadcast message; iii) Không cung cấp giao diện hay thư viện xử lý thông tin mà đơn gửi tin nhắn đến thiết bị; iv) Thích ứng với tảng Android phiên từ 2.3 chạy Google Play Store tảng Emulator chạy Google APIs; v) Sử dụng kết nối cho Google Khoa học & Công nghệ - Số 15/Tháng - 2017 Service có GCM với kiến trúc bao gồm Google connection server (GCM Server), app server bên mơi trường tương tác với Server thông qua giao thức HTTP XMPP, app client chạy tảng Android iOS, Hệ thống gửi/nhận tin nhắn sử dụng GCM với quy trình hoạt động sau: (1) Tạo Project https://console developers.google.com trước để có Sender Id Application Id Xây dựng Server WebService ta với CSDL phù hợp để lưu trữ Registration Id; (2) Các thiết bị Mobile Android gửi Sender Id Application Id lên GCM server để đăng ký (chú ý Sender Id cung cấp từ Google Developers); (3) Khi đăng ký thành cơng GCM Server tạo mã đăng ký gọi Registration Id gửi ngược cho thiết bị Android; (4) Sau nhận Registration Id mà GCM Server gửi về, thiết bị Android gửi Registration Id lên Server thông qua Web Service; (5) Sau Server ta nhận Registration Id (mỗi Android device cung cấp Id riêng, theo session GCM Server tạo ra) tiến hành lưu vào CSDL (do ta xây dựng) để sử dụng cho lần sau (gửi tin nhắn hàng loạt); (6) Xây dựng ứng dụng Server phép gửi tin nhắn hàng loạt (có thể gửi tới 1000 Android device mà khơng tốn phí), bước phải lấy Sender Id Application Id bước tạo Định dạng gửi tin chuẩn JSON, gửi ký tự Unicode, đồng nghĩa với việc gửi Tiếng Việt Tin nhắn bước gửi lên GCM Server; (7) Sau GCM Server nhận tin nhắn theo định dạng JSON bước 5, tiến hành gửi tới tất máy trạm đăng ký gói JSON gần Client nhận Hình Mơ hình gửi/nhận tin nhắn sử dụng (GCM) Journal of Science and Technology 79 ISSN 2354-0575 Như với bước (1), (6), (7) xây dựng cho Server Side (CSDL, Webserver, WebService, Webform…), bước (2), (3), (4), (5) xây dựng cho Client Side (Android Application) [6] Sau thiết kế, xây dựng Mobile App Trang thông tin nội trường Đại học kinh tế quốc dân, App đặt tên Internal-NEU, sử dụng GCM xây dựng ứng dụng gửi thông báo tự động cho App Internal-NEU Với tính này, người dùng/cán cơng nhân viên Trường (đã cung cấp tài khoản truy cập vào trang nội Trường) cần cài đặt App Internal-NEU điện thoại chạy hệ điều hành Android, thay việc trước người dùng phải thường xuyên truy cập vào trang nội Trường để xem thơng tin/thơng báo, lịch tuần …, App tự động thông báo cho người dùng biết có thơng tin cập nhật lên trang Các bước tiến hành cụ thể thực sau: – Tạo Project tạo project developer google: Trước tiên cần phải tạo Project https://console.developers.google.com trước để có Sender Id Application Id Sau vào trang developer đăng nhập có giao diện Hình 1, (trong trường hợp google thay đổi có version mới) Chúng sử dụng email nhà phát triển để đăng ký nhận Sender Id Application Id Sau bước thực nhận Sender ID Application ID – Xây dựng CSDL phù hợp để lưu trữ Registration Id: Tạo sở liệu SQL Server với tên “dbGCM“ gồm bảng, bảng TinTuc bảng GCMRegistration Bảng TinTuc mục đích để thêm danh sách tin tức máy Server, lần thêm Tin tự động thơng báo cho tồn máy Client Bảng GCMRegistration dùng để lưu trữ Registration Id thiết bị đăng ký thành công GCM Server Ta cần tạo bảng để lưu trữ lại toàn Registration Id thiết bị để sử dụng cho việc thông báo hàng loạt lần khác Thường ID mặc định lưu trữ khoảng tuần GCM Server Bảng Bảng TinTuc Tên cột Kiểu loại NewsID varchar(50) Title Ghi Mã tin tức, khóa nvarchar(1000) Tiêu đề tin tức IsDeleted int xác nhận, sử dụng Bảng Bảng GCMRegistration Tên cột RegNo 80 Kiểu loại int Ghi RegID nvarchar(1000) DateCreate IsDeleted date int Mã Registration ID thiết bị GCM server gửi Ngày tạo xác nhận sọt rác, sử dụng – Tạo WebService để tương tác với bảng liệu (tạo Solution để chứa ln Project, Webservice Desktop Application) Chúng tơi tạo solution có tên GCMSolution Trong Project GCMSolution có tích hợp trang quản trị lịch tuần, thơng báo nội bộ, danh bạ điện thoại nội Chúng thiết kế xây dựng trang Web quản trị trang thông tin nội Trường Đại học kinh tế quốc dân chứa thông báo nội lịch làm việc tuần … Khi người quản trị up thơng báo tiêu đề thơng báo gửi lên GCM server Google, sau GCM server Google gửi trả lại dịng tiêu đề nontification cho thiết bị di động mà cài đặt đăng ký App thông tin nội Internal-NEU Kết luận Với việc nghiên cứu triển khai GCM tích hợp vào hệ thống Mobile Apps cho hệ thống Trang thông tin nội Trường đại học kinh tế Quốc dân mang lại nhiều tiện ích trải nghiệm cho người dùng hệ thống mà mở cách tiếp cận để áp dụng cho nhiều hệ thống ứng dụng khác Chúng nghiên cứu áp dụng thành công dịch vụ GCM áp dụng cho việc xây dựng tính gửi tin nhắn tự động khơng phí App chạy tảng Android Với giới thiệu hướng dẫn cụ thể phần gợi ý/ dẫn có ích cho việc định triển khai xây dựng App trang tin nội Trường Đại học nói riêng quan tổ chức nói chung Hướng nghiên cứu chúng tơi mở rộng nghiên cứu cho App chạy tảng iOS Đồng thời tiền đề cho việc nghiên cứu áp dụng dịch vụ gửi thông báo khác (như FCM) nhằm cải thiện/nâng cao tính App xậy dựng Lời cảm ơn Nội dung nghiên cứu nằm khuôn khổ thực tài trợ đề tài cấp sở trường ĐHKTQD, mã số KTQD/V2017 No (tự động tăng), khóa Khoa học & Cơng nghệ - Số 15/Tháng - 2017 Journal of Science and Technology ISSN 2354-0575 Tài liệu tham khảo [1] https://www.hswsolutions.com/services/mobile-web-development/mobile-website-vs-apps/ [2] http://conversion.vn/mobile-web-hay-mobile-app/ [3] http://forum.vietdesigner.net/threads/ung-dung-dien-thoai-mobile-app-la-gi [4] https://material.io/guidelines/patterns/notifications.html#notifications-templates [5] Thi-Huyen Nguyen, Xuan-Pham Lam, Wu-Yuin Huang, Gwo-Dong Chen* (2016) Effects of Push Notifications on Learner Engagement in A Mobile Learning App The 16th IEEE International Conference on Advanced Learning Technologies - ICALT 2016 [6] https://developers.google.com/cloud-messaging/android/client RESEARCH AND APPLY AUTOMATIC SENDING MESSAGE SYSTEM GCM ON THE INTERNAL INFORMATION WEBSITE OF NATIONAL ECONOMICS UNIVERSITY Abstract: One of the prominent features of the Mobile App is the ability to send automatic alerts to users when new information is updated from the server side GCM (Google Cloud Message) is a service that allows you to send small messages from the server to all devices connecting to the network Researching and applying GCM to existing Web Services systems will enable mobile devices not to request continuously to the server, which will automatically receive notifications when new information arrives from the server The research and application of GCM into the internal information system of NEU will bring more value and utility to the users Keywords: Mobile App, Mobile Web, Push Notification, GCM Khoa học & Công nghệ - Số 15/Tháng - 2017 Journal of Science and Technology 81 ... đăng ký App thông tin nội Internal-NEU Kết luận Với việc nghiên cứu triển khai GCM tích hợp vào hệ thống Mobile Apps cho hệ thống Trang thông tin nội Trường đại học kinh tế Quốc dân mang lại... người dùng hệ thống mà mở cách tiếp cận để áp dụng cho nhiều hệ thống ứng dụng khác Chúng nghiên cứu áp dụng thành công dịch vụ GCM áp dụng cho việc xây dựng tính gửi tin nhắn tự động khơng phí... Sau thiết kế, xây dựng Mobile App Trang thông tin nội trường Đại học kinh tế quốc dân, App đặt tên Internal-NEU, sử dụng GCM xây dựng ứng dụng gửi thông báo tự động cho App Internal-NEU Với tính