Tìm hiểu Google Cloud Messageing (GCM) trong Android

Google cloud messaging là gì

Video Google cloud messaging là gì

gcm?

gcm còn được gọi là Google Cloud Messaging, là một dịch vụ do Google phát triển

Các nhà phát triển Android có thể dễ dàng gửi tin nhắn từ máy chủ đến điện thoại của bạn.

Máy chủ

bạn phát triển có thể là android hoặc trình duyệt. Loại dữ liệu có thể là

Tin nhắn hoặc dữ liệu nhỏ nhỏ hơn hoặc bằng 4kb. gcm xử lý dữ liệu theo phong cách

Xếp hàng đợi các tin nhắn và gửi chúng đến các ứng dụng Android dưới dạng thông báo đẩy. Đổi thành gcm

Thay thế c2dm beta (nhắn tin từ đám mây tới thiết bị).

1. Đặc điểm của gcm

  • Cho phép máy chủ ứng dụng của bên thứ ba gửi tin nhắn đến các ứng dụng riêng lẻ.

    Phía ứng dụng không cần chạy tính năng nhận tin nhắn liên tục. gcm sẽ thức dậy

    Thiết bị và tin nhắn phát sóng.

    • Không cung cấp giao diện hoặc thư viện xử lý thông tin, chỉ gửi tin nhắn

    Đến thiết bị.

    • Trình mô phỏng hoặc cửa hàng Android & gt; 2.3 + google chạy với google api.

      Sử dụng kết nối cho các dịch vụ hiện có của Google. (Bắt buộc đối với phiên bản Android <3

      Tài khoản Google).

      2. tổng quan về kiến ​​trúc gcm

      Screenshot from 2016-02-29 15:21:42.png

      • Một gcm bao gồm một máy chủ kết nối google và môi trường trong một máy chủ ứng dụng cũng tương tự như vậy

      Tương tác với máy chủ thông qua giao thức http hoặc xmpp và ứng dụng ứng dụng android hoặc iOS, …

      ** Các thành phần tương tác như thế nào? **

      • máy chủ kết nối google gcm chấp nhận các thông báo xuôi dòng từ máy chủ ứng dụng của bạn và gửi chúng

      Đối với ứng dụng khách. Giao thức xmpp cũng có thể chấp nhận các tin nhắn do khách hàng gửi và chuyển tiếp chúng

      Chuyển chúng đến máy chủ ứng dụng.

      • Trên máy chủ ứng dụng của mình, bạn sử dụng http hoặc xmpp để giao tiếp với gcm

      Kết nối với máy chủ. Máy chủ ứng dụng gửi thông báo xuống máy chủ kết nối gcm để kết nối với máy chủ

      Lưu trữ tin nhắn trong một hàng đợi và gửi chúng đến các ứng dụng khách. Nếu bạn sử dụng giao thức xmpp thì

      Máy chủ ứng dụng của bạn có thể nhận tin nhắn được gửi từ các ứng dụng khách.

      • Các ứng dụng khách để nhận và gửi tin nhắn gcm phải đăng ký gcm và một số nhận dạng duy nhất

      Nó được gọi là mã thông báo đăng ký.

      3. Thành phần gcm

      • Các thành phần – tất cả các vai trò chính trong gcm

        thông tin đăng nhập – là id và mã thông báo được sử dụng trong gcm để bảo mật tất cả các yếu tố

        Đã xác nhận, tin nhắn đã được gửi chính xác.

        3.1 Thành phần

        • máy chủ kết nối gcm: máy chủ google quan tâm đến việc gửi tin nhắn giữa máy chủ ứng dụng và

        Ứng dụng khách.

        • ứng dụng khách: Ứng dụng khách gcm cho phép ứng dụng giao tiếp với máy chủ ứng dụng.

          máy chủ ứng dụng: máy chủ ứng dụng gửi dữ liệu đến ứng dụng khách thông qua máy chủ kết nối gcm. Nếu

          Máy chủ ứng dụng sử dụng giao thức xmpp và cũng có thể nhận các thông báo được gửi bởi các ứng dụng khách.

          3.2 Thông tin đăng nhập

          • id người gửi: Số id dự án khi định cấu hình api dự án. Số id này được đăng ký với máy chủ ứng dụng để

          Hứa hẹn rằng máy chủ sẽ gửi dữ liệu đến ứng dụng khách.

          • khóa api: khóa api được lưu trữ trên máy chủ ứng dụng để máy chủ ứng dụng xác thực quyền truy cập vào google

          Dịch vụ. Trong http, gửi tin nhắn yêu cầu có khóa api trong phần tiêu đề của phương thức đăng bài

          Tin nhắn. Đối với xmpp, khóa api được bao gồm trong xác thực thông thường sasl và được yêu cầu làm mật khẩu kết nối.

          Khóa api không có trong mã khách hàng.

          • id appication: Đây là id của ứng dụng khách đã đăng ký để nhận dữ liệu từ máy chủ.

          3.3 Cách đăng ký id ứng dụng

          • android: Sử dụng tên gói trong tệp kê khai.

            ios: Sử dụng gói của ứng dụng để đánh giá.

            chrome: Sử dụng tiện ích mở rộng chrome.

            Mã thông báo Đăng ký: Mã thông báo được đăng ký giữa máy khách và máy chủ, cho phép các ứng dụng khách nhận

            Tin nhắn. Đăng ký mã thông báo phải được giữ bí mật.

            • Vòng đời của gcm:

              • Đăng ký gcm: Ứng dụng khách đăng ký mã thông báo với máy chủ ứng dụng.

                Ứng dụng khách kết nối với máy chủ ứng dụng thông qua mã thông báo đăng ký.

                Máy chủ ứng dụng sẽ giữ mã thông báo đã đăng ký từ máy khách.

                Gửi và nhận tin nhắn:

                • Gửi tin nhắn: Máy chủ ứng dụng gửi tin nhắn đến ứng dụng khách:

                  Máy chủ kết nối gcm xếp hàng và lưu tin nhắn khi thiết bị ngoại tuyến.

                  Khi thiết bị trực tuyến, máy chủ kết nối gcm sẽ gửi một tin nhắn đến thiết bị.

                  Trên thiết bị, ứng dụng khách nhận thông báo theo nền tảng đã đăng ký với máy chủ ứng dụng.

                  Nhận tin nhắn: Ứng dụng khách nhận tin nhắn từ máy chủ kết nối gcm.

                  4. Cài đặt ứng dụng khách gcm trên android

                  • Google Cloud Messaging (gcm) android là một ứng dụng khách chạy trên các thiết bị Android. viết mã

                  Chúng tôi sử dụng googlecloudmessaging api và android studio với gradle.

                  Yêu cầu để chạy ứng dụng android gcm:

                  • gcm yêu cầu thiết bị chạy android 2.2 trở lên và phải cài đặt ứng dụng google play

                  Lưu trữ hoặc trình mô phỏng chạy Android 2.2 bằng Google API.

                  • Nếu bạn muốn tiếp tục sử dụng các thuộc tính gcm có sẵn thông qua google play

                  Để phân phối, thiết bị phải chạy Android 2.3 trở lên. Bạn cũng có thể chạy trình giả lập bằng

                  android 2.3 trở lên với google api.

                  • Trên thiết bị Android, gcm sử dụng các kết nối tồn tại trên các dịch vụ của Google. Có cài đặt

                  Các thiết bị dưới Android 3.0 phải cài đặt tài khoản google, thiết bị Android

                  4.0.4 trở lên không yêu cầu tài khoản Google.

                  5. Cài đặt các dịch vụ của google trong android studio:

                  • Trong tệp kê khai của ứng dụng:

                    + “.permission.c2d_message” để đăng ký quyền ứng dụng

                    Nhận gửi và nhận tin nhắn từ gcm.

                    • com.google.android.c2dm.permission.send cung cấp quyền nhận tin nhắn từ gcm.

                    -gcmlistutorervice xử lý các loại thông báo được gửi từ máy chủ ứng dụng và hiển thị thông báo

                    Trên thiết bị.

                    • instanceidlistutorervice Thuộc tính này xử lý việc tạo, cập nhật, v.v. của mã thông báo đăng ký.
                    • bind_network_task_service: Được sử dụng bởi các dịch vụ của Google Play, cung cấp quyền bảo mật cho

                    Gửi và nhận tin nhắn.

                    • Chúng tôi sử dụng phương thức onkenrefresh () để đăng ký id mã thông báo với máy chủ ứng dụng như sau:
                    • Tài liệu tham khảo: