Pushing Messages sử dụng GCM – Android

GCM hay còn gọi là Google Cloud Messaging, đây là một Service được Google phát triển giúp các android developer dễ dàng triển khai việc send messages từ server tới mobile của bạn, Server mà bạn develop có thể là Android, và cũng có thể là Browser .

Screenshot from 2013-01-07 19:08:22

Để triển khai GCM bạn cần những gì :

1 . đọc cách Config để sử dụng , tham khảo link http://developer.android.com/google/gcm/c2dm.html

2 . Download thư viện GCM version mới nhất từ google (bạn có thể lấy nó từ Android SDK manager)

3. Bạn cần một Database để lưu trữ ID của các client device, bởi khi bạn sử dụng GCM bạn cần đăng ký một ID cho device muốn sử dụng service này, và mỗi device là một ID khác nhau, do bạn cần lưu các ID vào database trên web server sau đó khi muốn push messages tới client device bạn sẽ lấy ra tất cả ID đó và gửi lần lượt .

4. Khi các client device nhận được messages thì bạn có những dự lựa chọn khác nhau như hiển thị một dialog, notification, lưu bởi Sqlite …etc, trong bài viết này mình chia sẻ khi sử dụng notification .

Đối với notification thì bạn lưu ý đến server của bạn có thể send nhiều message tại các thời điểm khác nhau do đó trên client device bạn phải hiện nhiều notification riêng biệt, đối với người mới thì chú ý đến ID của notification , nếu bạn sử dụng một ID cho mỗi lần show notification thì cho dù server gửi 10 messages thì trên client device chỉ hiển thị cái message cuối cùng mà thôi, do đó bạn cần ID cho nó .


PendingIntent intent = PendingIntent.getActivity(context, NOTIF_ID,
				notificationIntent, PendingIntent.FLAG_UPDATE_CURRENT);
		
		notification.setLatestEventInfo(context, notifTitle, titleMessage, intent);
		
		//notification.flags |= Notification.FLAG_AUTO_CANCEL;
		
		notificationManager.notify(NOTIF_ID++, notification);

biến NOTIF_ID sẽ cần khác nhau trong mỗi lần show notification .

Thân ái và quyết thắng

Advertisements

3 thoughts on “Pushing Messages sử dụng GCM – Android

  1. VAdaihiep

    Thank bạn nhé, bài viết rất hữu ích.
    Đang thắc mắc sao thằng Viber hay LINE nó hiện thông báo khi có tin nhắn, chẳng lẽ nó tạo Service liên tục request đến server để kiểm tra có tin nhắn mới hay không.
    Hóa ra là nó dùng cái này :))

    Reply
  2. Sharing Post author

    cái này chưa chắc bạn nhé, bởi nếu cty họ có năng lực thì họ tự viết server và pushing trực tiếp message từ server tới mobile được, điều này là có thể, socket chẳng hạn …

    Reply
  3. Can

    Hi,
    Thanhk, Bài viết hay quá
    Tiện đây cho em hỏi client có thể gửi request lên server qua cloud được không vậy?

    Reply

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s