Chào các bạn,
Đợt vừa rồi mình mới code 1 project về hệ thống quản lý & cập nhật tin tức. Trong project của mình đòi hỏi một chức năng là mỗi lần hệ thống cập nhật thành công hay thất bại thì phải thông báo qua thiết bị mobile để người quản lý được biết về trạng thái đó, đại loại như gửi 1 tin nhắn hay hiển thị một thông báo nào đó trên thiết bị di động của người quản lý và phải lưu lại lịch sử của các thông báo này để tiện cho việc theo dõi sau này.
Tình cờ mình search trên google thấy cái service “Notifier Mobile” và thử tìm hiểu để áp dụng cho project của mình.


Qua tìm hiểu thì mình thấy service này rất hữu dụng và dễ dùng nên hôm nay bỏ ít thời gian viết bài viết này để share kinh nghiệm làm việc với service này. Hy vọng bạn các bạn có thể áp dụng nó cho các project riêng của mình.


Mục đích chính của cái service này là cho phép user tạo các thông báo (notifications) chỉ với vài dòng code đơn giản và những thông báo này sẽ được chuyển tới thiết bị di động của bạn trong thời gian thực (tức là ngay sau khi các dòng code tạo thông báo được thực thi thành công). Theo những gì ghi trên trang chủ của service thì tối đa là 5’ sau khi được tạo, các thông báo sẽ xuất hiện trên thiết bị di động.


Đăng ký account
Service này là hoàn toàn free, việc của các bạn đơn giản chỉ là vào trang chủ của nó đăng ký 1 account:
notifiermobile.com/





Điền những thông tin cần thiết vào form đăng ký:


Lưu ý: Service sẽ gửi mail kích hoạt tài khoản qua địa chỉ email nên các bạn nhớ nhập chính xác địa chỉ email của mình nhé.


Sau khi đăng ký thành công, login vào trang web bạn sẽ nhận được 1 khóa bí mật (Secret Key)



Lưu ý: Secret Key này cùng với username sẽ được dùng để tạo các thông báo (notifications). Các bạn hãy lưu nó vào 1 chỗ nào đó và đừng chia sẽ nó với ai nhé.


Cài đặt “Notifier Mobile” App
Như vậy là quá trình đăng ký đã hoàn tất, việc tiếp theo là cài đặt Notifier Mobile App lên thiết bị di động của bạn. App này sẽ chịu trách nhiệm nhận các thông báo của bạn một cách tự động.


Hiện tại ứng dụng chỉ có trên Android store các bạn có click vào link sau để cài đặt trên thiết bị Android của bạn
play.google.com/store/apps/details?id=com.notifiermobileandroid
Hoặc là dùng ứng dụng CH play search trên mục ứng dụng với từ khóa “notifier mobile” rồi cài đặt.


Sau khi cài đặt hãy login vào app bằng username và password mà bạn đã đăng ký trên trang web




Giao diện chính của ứng dụng sẽ giống như thế này



Coding tạo thông báo
Việc duy nhất còn lại và cũng là việc quan trọng nhất chính là thực hiện code để tạo các thông báo và đưa chúng vào những chỗ thích hợp trong project của bạn.


Hiện tại service đã có hỗ trợ sẵn 2 thư viện dùng cho 2 ngôn ngữ phổ biến hiện nay là Java và .NET(C#). Cách dùng của 2 thư viện này là tương tự nhau và khá đơn giản.


Các bạn vào các link phía dưới để xem hướng dẫn chi tiết về cách thức download cũng như sử dụng của từng thư viện
Đối với Java:
notifiermobile.com/java


Đối với .NET(C#):
notifiermobile.com/dotnet


Đối với các ngôn ngữ khác (Javascript, Python, Ruby, …)
notifiermobile.com/otherLanguages


Một điều mình đánh giá cao đối với service này nó có cung cấp một API (Notifications API), điều này rất thuận tiện để thao các với các thông báo (Notification). Ngoài 2 ngôn ngữ hỗ trợ sẵn thư viện để thao tác với các thông báo như đã đề cập ở trên thì đối với các ngôn ngữ khác chẳng như Javascript bạn có thể dễ dàng tạo cho mình một thư viện riêng để thao các với các thông báo thông qua API này.
Chi tiết về Notification API các bạn có thể tham khảo link sau nhé:
notifiermobile.com/api


Một ví dụ tạo thông báo được sử dụng trong project Java của mình:

Mã:
public updateDataBase() {
    try {
    // Các câu lệnh thực hiện update database
    db.update();
    // Gửi thông báo update thành công
    Authentication authentication = new Authentication("yourUsername", "yourSecretKey");
    Notification notification = new Notification();
    notification.setTitle("Update database successfully");
    notification.setMessage("Number of records were updated: 1000 records");
    notification.setType(NotificationType.INFO.ordinal());
    // Gửi thông báo lên server
    NotifierMobileService.add(notification, authentication);
  } catch (Exception e) {
    // Xử lý khi update thất bại
    // …
    // Gửi thông báo update thất bại
    Authentication authentication = new Authentication("yourUsername", "yourSecretKey");
    Notification notification = new Notification();
    notification.setTitle("Update database failed!");
    notification.setType(NotificationType.ERROR.ordinal());
    // Gửi thông báo lên server
    NotifierMobileService.add(notification, authentication);
  }
}

Một số lưu ý khi tạo các thông báo trong project của bạn:
  • Có 3 kiểu của thông báo chính là: INFO, WARNING, ERROR.
    • Những loại thông báo này sẽ được hiển thị tương ứng các mục INFO, WARNING, ERROR trên ứng dụng Notifier Mobile như các bạn đã thấy trong hình ở trên, ngoài ra tất cả các thông báo này cũng có thể thấy ở mục ALL.



    • Nếu các bạn tạo một thông báo không nằm trên 3 loại trên thì trên ứng dụng Notifier Mobile các bạn chỉ thấy nó ở mục ALL (các thông báo có biểu tượng chữ “O” (Others) đằng trước).

  • Nếu quá trình gửi thông báo lên server bị lỗi (chẳng hạn như không có kết nối Internet) thì service sẽ throws NotificationException để báo cho bạn biết là đã thất bại trong việc gửi thông báo lên server và như thế tất nhiên bạn không thể nhận được thông báo này trên ứng dụng Notifier Mobile.

  • Nếu các bạn không muốn ứng dụng của mình throws NotificationException này khi thông báo không gửi được thành công thì có thể đặt đoạn code tạo thông báo trong 1 khối try/catch giống thế này:


Mã:
public sendNotification() {
    try {
        Authentication authentication = new Authentication("yourUsername", "yourSecretKey");
        Notification notification = new Notification();
        notification.setTitle("Update database successfully");
        notification.setMessage("Number of records were updated: 1000 records");
        notification.setType(NotificationType.INFO.ordinal());
        NotifierMobileService.add(notification, authentication);
    } catch (NotificationException e) {
        System.out.println("Can not send notfication");
    }
}

Note: một lưu ý khác là để nhận được thông báo trên ứng dụng Notifier Mobile thì điện thoại của bạn phải bật 3G hoặc Wifi lên nhé, như thế ứng dụng mới có thể tự động request lên server để lấy thông báo về được.


Nhận xét
Dưới đây là một số nhận xét của mình về service này:
Service này sẽ rất hữu dụng cho bạn trong các trường hợp như là theo dõi hệ thống bằng thiết bị di động, nó thông báo kịp thời các sự cố cho bạn ngay khi sự cố vừa xảy ra hay đơn giản chỉ là gửi cho bạn một thông báo khi một tác vụ nào đó trong ứng dụng/ trang web của bạn vừa thực hiện thành công. Chỉ với 1 chiếc điện thoại có cài đặt Notifier Mobile app bạn chỉ cần ra quán ngồi nhâm nhi 1 ly cafe mà vẫn biết được chuyện gì đang xảy ra với hệ thống của mình.
  • Ưu điểm
    • Free
    • Dễ dùng
    • Có phân loại các thông báo: INFO, WARNING, ERROR, ...
    • Có lưu lại lịch sử các thông báo
    • Có hỗ trợ API để thao tác với các thông báo
  • Nhược điểm
    • Ứng dụng Notifier Mobile hiện tại chỉ có trên Android
Hy vọng bài viết có thể giúp ích được cho các bạn! Subscribe nếu thấy hay nhé , thanks!