Google Cloud Messaging và Push Notification trong Android - Phần 2

Khóa học lập trình Android cơ bản

5.0 (1 đánh giá)
Tạo bởi Kteam Cập nhật lần cuối 5 năm trước 30.164 lượt xem 2 bình luận
Tác giả/Dịch giả: Kteam
Học nhanh

Danh sách bài học

01. Giới thiệu lập trình Android và cài đặt môi trường 02. Các chức năng cơ bản của Android Studio 03. Cài đặt máy ảo Android - Có thể bạn chưa biết 04. Cách debug cơ bản với Android Studio 05. Các thành phần giao diện (UI) cơ bản 06. Intent & Manifest trong Lập trình Android 07. Vòng đời của Activity trong Android 08. Fragment và cơ chế BackStack 09. Material Design và Coding Convention 10. ListView và Custom Adapter 11. RecyclerView và ViewHolder trong Android Studio 12. Giao diện trượt ngang với ViewPager và Tab trong Android cơ bản 13. Animation và Transition trong lập trình Android cơ bản 14. Xử lý bất đồng bộ trong lập trình Android cơ bản 15. JSON và web API trong lập trình Android cơ bản 16. Permission trong Android 17. Xử lý nội dung đa phương tiện 18. Lưu trữ dữ liệu với SharedPreferences 19. Lưu trữ dữ liệu với SQLite 20. Lưu trữ dữ liệu với SQLite (Thực hành) 21. Thực hành SQLite với Sugar ORM 22. Tích hợp mạng xã hội - Tạo app Facebook 23. Tích hợp mạng xã hội - Login với Facebook 24. Tích hợp mạng xã hội vào ứng dụng Android (Google) 25. Tích hợp mạng xã hội vào ứng dụng Android (Google) - Phần 2 26. Google Cloud Messaging và Push Notification trong Android - Phần 1 27. Google Cloud Messaging và Push Notification trong Android - Phần 2

Google Cloud Messaging và Push Notification trong Android - Phần 2

Dẫn nhập

Chào các bạn! Ở các bài học trước, chúng ta đã cùng nhau tìm hiểu về FIREBASE & THÀNH PHẦN CLOUD MESSAGING của nó nói riêng, cũng như bước đầu setup một project trên Google Firebase để làm việc với một project mới toanh: Tạo ứng dụng nhận tin nhắn push từ Firebase.

Ở bài này chúng ta sẽ vào phần 2 của bài học trước, lần này chúng ta sẽ code logic chính của ứng dụng, và chạy thử.


Nội dung

Để đọc hiểu bài này tốt nhất các bạn nên có kiến thức cơ bản về các phần:

Trong bài học này, chúng ta sẽ cùng tìm hiểu các vấn đề:

  • Khởi tạo các hàm cần thiết
  • Instance ID
  • MessagingService
  • NotificationUtils
  • MainActivity

Khởi tạo các hàm cần thiết

Để làm việc với Firebase Google Cloud Messaging hiệu quả, chúng ta cần bố trí các class, các package hợp lý trong project bởi một tin nhắn push từ server sẽ cần khá nhiều thành phần liên quan như Notification, Service, Broadcast Receiver,...

Với những lý do như trên, để có thể mở rộng thêm tính năng về lâu dài, chúng ta sẽ tổ chức các hàm chức năng vào các class chuyên biệt. Đây cũng là cách phân bố chức năng hợp lý mà bạn cũng nên áp dụng cho các project sau này.

  • Các hàm chức năng đưa vào một class riêng có tên NotificationUtils.
  • Lớp chức năng FirebaseMessage đặt riêng. Lớp này là một Service, có chức năng lắng nghe các thông báo được gửi đến thiết bị Android.
  • Lớp chức năng FirebaseInstanceID đặt riêng. Lớp này cũng là một Service, có chức năng lắng nghe thay đổi và xử lý thay đổi liên quan đến ID Firebase đi kèm với thiết bị.
  • Chỉ cần một Activity duy nhất là MainActivity để demo. Sau đó Sử dụng các chức năng đã tạo vào đây.

Lưu ý: Để sử dụng được Firebase / GCM, điện thoại của bạn phải hỗ trợ Google Play Services (tức là có App Store, hoặc Google Chrome, hoặc một app nào đó của Google). Điều này áp dụng cho cả Emulator, nên khi tạo Emulator bạn cũng cần chú ý.

Để biết được máy của bạn có Google Services hay không thì chỉ cần xem nó có sẵn một app của Google nào đó đã được cài chưa là biết, ví dụ: Google Plus / Map / Google Play.

Google Cloud Messaging và Push Notification trong Android - Phần 2

Ở trên chúng ta có các class:

  • HowkFirebaseInstanceIDService: Chứa hàm onTokenRefresh, thực hiện lưu lại thay đổi khi GCM token mới được tạo ra cho thiết bị. Mỗi lần như vậy thì sẽ lưu token vào một vùng nhớ tĩnh trong máy mà chúng ta đã được tìm hiểu ở bài trước là SharedPreferences.
  • HowkFirebaseMessagingService: Class này sẽ nhận tin nhắn từ GCM / FCM rồi chuyển vào hàm onMessageReceived. Tại đây chúng ta sẽ mổ xẻ tin nhắn.
  • NotificationUtils: Chứa các hàm xử lý tin nhắn chính. Ví dụ: Nhận được tin nhắn thì tạo ra Notification đẩy xuống thông báo trên điện thoại,…

Instance ID

Như đã đề cập ở trên, class này chứa hàm onTokenRefresh, thực hiện lưu lại thay đổi khi GCM token mới được tạo ra cho thiết bị.

Xin lưu lý là hàm sendRegistrationToServer ở trên chỉ là hàm nháp, các bạn có thể mở rộng tính năng của app ra sau này với server phía back-end, còn hiện tại thì như thế này là đủ.


MessagingService

Class này sẽ nhận tin nhắn từ GCM / FCM rồi chuyển vào hàm onMessageReceived. Tại đây chúng ta sẽ mổ xẻ tin nhắn.


NotificationUtils

Class chứa các method cần thiết để hiển thị message (tên, nội dung, ảnh, và ngày giờ gửi).


MainActivity

Cuối cùng, trong MainActivity, chúng ta đem ra sử dụng các thứ đã code ở trên. Các bạn xem kỹ phần comment nhé:

Test thôi… !

Compile và chạy app. Các bạn cần ghi lại Registration ID của máy sau khi đăng ký thành công với server FCM.

Google Cloud Messaging và Push Notification trong Android - Phần 2

Sử dụng registration này, các bạn truy cập vào trang Pushtry.com và thử gửi một tin nhắn đến chính máy của mình:

Google Cloud Messaging và Push Notification trong Android - Phần 2

(Server API key có dạng  AIzaSyBayaAYuvudghyw4kh67G… ), các bạn vào Google Dev console (xem lại bài trước) để biết thêm chi tiết.


Source code tham khảo

Nhằm giúp các bạn thao tác dễ dàng hơn trong quá trình theo dõi bài viết, Kteam hỗ trợ source code tham khảo ngay trong link bên dưới 

PUSHEXAMPLE.ZIP


Kết luận

Qua bài này chúng ta đã nắm được cách tích hợp GCM / FCM cơ bản vào ứng dụng Android. Cũng như cách test push notification.

Cảm ơn các bạn đã theo dõi bài viết. Hãy để lại bình luận hoặc góp ý của mình để phát triển bài viết tốt hơn. Đừng quên “Luyện tập – Thử thách – Không ngại khó”.


Tải xuống

Tài liệu

Nhằm phục vụ mục đích học tập Offline của cộng đồng, Kteam hỗ trợ tính năng lưu trữ nội dung bài học Google Cloud Messaging và Push Notification trong Android - Phần 2 dưới dạng file PDF trong link bên dưới.

Ngoài ra, bạn cũng có thể tìm thấy các tài liệu được đóng góp từ cộng đồng ở mục TÀI LIỆU trên thư viện Howkteam.com

Đừng quên likeshare để ủng hộ Kteam và tác giả nhé!


Thảo luận

Nếu bạn có bất kỳ khó khăn hay thắc mắc gì về khóa học, đừng ngần ngại đặt câu hỏi trong phần bên dưới hoặc trong mục HỎI & ĐÁP trên thư viện Howkteam.com để nhận được sự hỗ trợ từ cộng đồng.

Tác giả/Dịch giả

Khóa học

Khóa học lập trình Android cơ bản

Serial tutorial hướng dẫn lập trình Android cơ bản

Đánh giá

5.0
1 đánh giá
Đánh giá
5
1
4
3
2
1
Nguyễn Hữu Thọ đã đánh giá 6 năm trước

Hay, giúp ích rất nhiều cho em ^^

Bình luận

Để bình luận, bạn cần đăng nhập bằng tài khoản Howkteam.

Đăng nhập
nguyenvanthinh1992 đã bình luận 6 năm trước

File Config kia tự tạo hay gì thế Ad ơi, cho mình xin mã nguồn nội dung 2 file java đó với

nguyenvanthinh1992 đã bình luận 6 năm trước

ádasd

Không có video.