android developer dễ dàng triển khai việc send message từ server tới mobile của bạn.
Bạn đang xem: Gcm là gì
Server mà bạn develop có thể là Android, và cũng có thể là Browser. Các kiểu data có thể là các
message nhỏ hoặc những tài liệu có dung tích nhỏ hơn hoặc bằng 4 kb. GCM giải quyết và xử lý tài liệu theo kiểuhàng đợi ( queue ) những message và chuyển tới những ứng dụng android dạng Push notification. GCM thaythế cho phiên bản beta C2DM ( Cloud to Device Messaging ) .
1. Các tính chất đặc trưng của GCM
Cho phép server của những ứng dụng phía thứ 3 ( 3 rd – party ) gửi message đến từng ứng dụng .Phía ứng dụng không thiết yếu phải chạy công dụng nhận tin nhắn liên tục. GCM sẽ thức tỉnh nhữngthiết bị và broadcast message .không cung cấp các interface hay các thư viện xử lý thông tin mà đơn thuần chỉ gửi tin nhắnkhông phân phối những interface hay những thư viện giải quyết và xử lý thông tin mà đơn thuần chỉ gửi tin nhắnđến thiết bị .Android > 2.3 + Google Play Store or Emulator chạy bằng Google APIs .Sử dụng liên kết cho Google Service hiện có. ( so với android versiongoogle account ) .
2. Tổng quan kiến trúc GCM
Một GCM gồm có một Google connection server, một app server bên trong môi trường tự nhiên ở đó tươngtác với server trải qua giao thức HTTP hoặc XMPP, và một app client là Android hoặc iOS, …* * Làm thế nào để những thành phần tương tác với nhau ? * *Google GCM Connection Servers chấp nhận downstream message từ app server của bạn and gưỉ chúngGoogle GCM Connection Servers gật đầu downstream message từ app server của bạn and gưỉ chúngtới app client. Giao thức XMPP cũng hoàn toàn có thể đồng ý message được gửi lên từ client app và chuyểntiếp chúng tới App server .Trên App server của bạn, bạn áp dụng cho 2 phương thức HTTP hoặc XMPP để giao tiếp với GCMTrên App server của bạn, bạn vận dụng cho 2 phương pháp HTTP hoặc XMPP để tiếp xúc với GCMConnection server. App server gửi downstream message tới GCM connection server, connection serversẽ tàng trữ message trong hàng đợi và gửi chúng tới client app. Nếu bạn sử dụng XMPP giao thức thìapp server của bạn hoàn toàn có thể nhận messages gửi từ client app .Client App để nhận và gửi GCM message, ứng dụng này phải đăng ký với GCM và một định danh duyClient App để nhận và gửi GCM message, ứng dụng này phải ĐK với GCM và một định danh duynhất gọi là registration token .
3. Các thành phần của GCM
Components – Toàn bộ vai trò chính trong GCMCredentials – Là IDs và token được sử dụng trong GCM để bảo vệ rằng toàn bộ những thành phầnđược xác nhận, và tin nhắn được gửi đi đúng chuẩn .
3.1 Components
GCM Connection Servers: Google server liên quan đến việc gửi tin nhắn giữa app server vàGCM Connection Servers : Google server tương quan đến việc gửi tin nhắn giữa app server vàclient app .Client app : Một GCM client app được cho phép ứng dụng tiếp xúc với App server .App Server : Một App server để gửi tài liệu tới App client trải qua GCM connection server. Nếuapp server sử dụng giao thức XMPP, nó cũng hoàn toàn có thể nhận tin nhắn được gửi từ client apps .
3.2 Credentials
Sender ID: Số Project ID khi cấu hình project API của bạn. Số ID này đăng ký với app server đểSender ID : Số Project ID khi thông số kỹ thuật project API của bạn. Số ID này ĐK với app server để
cam kết rằng server sẽ gửi dữ liệu tới Client app.
Xem thêm: Tên miền (Domain) là gì? Hosting là gì?
API Key: Một API key được lưu trên App server để app server xác thực quyền truy cập tới GoogleAPI Key : Một API key được lưu trên App server để app server xác thực quyền truy vấn tới Googleservice. Trong HTTP, API key gồm có trong phần Headed của phương pháp POST được nhu yếu gửi tinnhắn. Với XMPP, API key được gồm có trong SASL PLAIN xác nhận nhu yếu như mật khẩu để liên kết .API key không được gồm có trong client code .Appication ID: Đây là ID của app client được đăng ký để nhận dữ liệu từ server.
Xem thêm:
Appication ID : Đây là ID của app client được ĐK để nhận tài liệu từ server. Xem thêm : Cách Giao Dịch Hiệu Quả Khi Tin Non Farm Là Gì ? Hướng Dẫn Theo Dõi Tin Non Farm
3.3 Cách đăng ký Application ID
Android : sử dụng package name trong tệp tin manifest .iOS : sử dụng app ” s bundle để xác lập .Chrome : sử dụng tên chrome extension .Registration Token : Một token được ĐK giữa client và server để cho phép client app nhậntin nhắn. Việc ĐK tokens phải là bí hiểm .Vòng đời của GCM :Đăng ký GCM : Client app ĐK token với App server .Client app liên kết với app server trải qua token đã ĐK .App server sẽ lưu token đã ĐK từ client .Gửi và nhận messages :Gửi tin nhắn : App server gửi tin nhắn tới client app :GCM connection server đưa tin nhắn vào hàng đợi và lưu tin nhắn nếu thiết bị offline .Khi thiết bị trực tuyến, GCM connection server gửi tin nhắn tới thiết bị .Trên thiết bị, app client nhận tin nhắn tùy theo từng nền tảng đã ĐK với app server .Nhận tin nhắn : Client app nhận tin nhắn từ GCM connection server .
4. Cài đặt GCM Client App on Android
Google Cloud Messaging (GCM) Android là một app client chạy trên thiết bị Android. Để viết codeGoogle Cloud Messaging ( GCM ) Android là một app client chạy trên thiết bị Android. Để viết codeứng dụng tất cả chúng ta sử dụng GoogleCloudMessaging API và Android Studio với Gradle .
Yêu cầu để chạy GCM Android client:
GCM yêu cầu thiết bị chạy Android 2.2 hoặc cao hơn và phải cài đặt ứng dụng Google PlayGCM nhu yếu thiết bị chạy Android 2.2 hoặc cao hơn và phải thiết lập ứng dụng Google PlayStore, hoặc thiết bị giả lập chạy Android 2.2 với Google APIs .Nếu bạn muốn tiêp tục sử dụng các thuộc tính GCM được phân phát thông qua Google PlayNếu bạn muốn tiêp tục sử dụng những thuộc tính GCM được phân phát trải qua Google PlayServices, thiết bị phải chạy Android 2.3 hoặc cao hơn. Bạn cũng hoàn toàn có thể sử dụng giả lập chạyAndroid 2.3 trở lên với Google APIs .Trên các thiết bị Android, GCM sử dụng connection tồn tại cho Google services. Với các thiếtTrên những thiết bị Android, GCM sử dụng connection sống sót cho Google services. Với những thiếtbị chạy Android version dưới 3.0 thì phải thiết lập thông tin tài khoản google, với thiết bị chạy Androidversion từ 4.0.4 trở lên thì không cần thông tin tài khoản google .
5. Cài đặt Google Service trong Android studio:
dependencies { compile “com.google.android.gms:play-services-gcm:8.1.0”}Trong tập tin Application”s Manifest:
+ “. permission. C2D_MESSAGE ” ĐK quyền được cho phép ứng dụngnhận gửi và nhận tin nhắn từ GCM .
permission android:name=”com.example.gcm.permission.C2D_MESSAGE” android:protectionLevel=”signature” /> uses-permission android:name=”asia.geeeksplay.permission.C2D_MESSAGE” />com.google.android.c2dm.permission.SEND cung cấp quyền nhận tin nhắn từ GCM. receiver android:name=”com.google.android.gms.gcm.GcmReceiver” android:exported=”true” android:permission=”com.google.android.c2dm.permission.SEND” > intent-filter> action android:name=”com.google.android.c2dm.intent.RECEIVE” /> category android:name=”asia.geeeksplay” /> /intent-filter> /receiver>-GcmListenerService xử lý các kiểu tin nhắn được gửi từ app server và hiển thị Notification
trên thiết bị.
Xem thêm: Trường Trung Học Phổ Thông Tiếng Anh Là Gì, Từ Vựng Tiếng Anh Cần Thiết
service android : name = “. service. GeeekGCMListenerService ” android : exported = ” false ” > intent-filter > action android : name = ” com.google.android.c2dm.intent. RECEIVE ” / > / intent-filter > / service > InstanceIDListenerService thuộc tính này để giải quyết và xử lý như tạo, update của việc ĐK tokens. service android : name = “. service. GeeekInstanceIDListenerService ” android : exported = ” false ” > intent-filter > action android : name = ” com.google.android.gms.iid. InstanceID ” / > action android : name = ” com.google.android.c2dm.intent. REGISTRATION ” / > / intent-filter > / service > BIND_NETWORK_TASK_SERVICE : sử dụng bởi Google Play Services, phân phối quyền bảo mật thông tin cho việcgửi và nhận tin nhắn .
service android:name=”.service.RegistrationGCMService” android:exported=”true” android:permission=”com.google.android.gms.permission.BIND_NETWORK_TASK_SERVICE” > intent-filter> action android:name=”com.google.android.gms.gcm.ACTION_TASK_READY” /> /intent-filter> /service>Để đăng ký Tokens ID với App server chúng ta sử dụng phương thức onTokenRefresh() như sau:public class GeeekInstanceIDListenerService extends InstanceIDListenerService { private static final String TAG = “GeeekInstanceIDListenerService”;
Source: https://swing.com.vn
Category: Wiki