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
- 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:
-
-
-