Logo của Google Cloud Messaging |
GCM hay Google Cloud Messaging là một dịch vụ cho phép gửi dữ liệu từ máy chủ của bạn đến các thiết bị Android của người dùng, và ngược lại. GCM là hoàn toàn miễn phí và không giới hạn băng thông. Dịch vụ hoạt động trên các gói dữ liệu có dung lượng nhỏ hơn 4kb và tin nhắn tới thiết bị Android là tức thời (Push-notification).
GCM là phù hợp cho việc xây dựng các ứng dụng nhắn tin tức thời hoặc tương tác giữa người dùng và nhà phát triển ứng dụng. Ví dụ:
Để hiểu rõ về GCM, bài viết ngày hôm nay của Tuần Báo Ubuntu Việt sẽ giới thiệu về cách tương tác giữa Ubuntu và Android đơn giản qua GCM.
Note: Bài viết có sử dụng tài liệu hướng dẫn sử dụng của Google Dev và http://sagark.org
1) Lấy API KEY của GCM
Đầu tiên, bạn cần đăng ký Google Cloud Messaging bằng tài khoản Google của bạn. Truy cập Google Console tại: https://cloud.google.com/console/project
a. Nếu bạn chưa tạo một dự án API nào, nhấp vào “Create Project”.
b. Cung cấp một tên dự án và nhấn Create.
c. Một khi dự án đã được tạo ra, một trang xuất hiện hiển thị ID dự án của bạn và số lượng dự án. Ví dụ, số dự án: 670.330.094.152
d. Copy số ID Project này. Bạn sẽ sử dụng nó như GCM sender ID.
Sau đó, bạn cần kích hoạt GCM:
a. Trong thanh bên trên bên trái, chọn API & auth.
b. Trong danh sách hiển thị các API, phần Google Cloud Messaging for Android chuyển đổi sang ON.
Lấy API Key:
a. Trong thanh bên trên bên trái, chọn API & auth> Credentials.
b. Trong phần Public API access, nhấp vào Create new key.
c. Trông hộp thoại Create a new key, nhấp vào Android key.
d. Trong hộp thoại cấu hình kết quả, bạn có thể cung cấp chứng nhận SHA1 hoặc bỏ trống.
e. Nhấp vào Create.
Trong trang mới, sao chép Api Key.
Vậy là chúng ta có được ID Project và API KEY. Hãy sao chép nó, chúng ta sẽ dùng nó vào bước tiếp theo.
2) Mã nguồn cho Server
Tải xuống mã nguồn server mà chúng ta sẽ tải lên Server tại:
https://github.com/sagark/snapnotify-server/zipball/master
Giải nén và mở file snapserver.settings, sau đó thay thế:
* YOUR_API_KEY= số API KEY của bạn
* YOUR_SENDER_ID = số ID Project của dự án vừa tạo
Lưu file. Chuyển đến bước 3.
3) Đăng ký Server và tải mã nguồn chương trình lên server
Trong bài viết này chúng ta sẽ sử dụng trang Heroku để lưu trữ mã nguồn và làm Server. Đăng ký một tài khoản miễn phí tại https://dashboard.heroku.com và một tài khoản GitHub tại https://github.com
a) Tải xuống và cài đặt Heroku Toolbelt – trình quản lý Heroku trên Ubuntu bằng lệnh:
b) Mở Terminal, chuyển về thư mục chứa mã nguồn server mà chúng ta đã tải ở bước 2. Đăng nhập Heroku bằng lệnh:
Dùng tài khoản Heroku của bạn để đăng nhập. Chạy tiếp 3 lệnh sau:
Đăng nhập bằng tài khoản GitHub vừa đăng ký.
Tạo một ứng dụng Heroku bằng lệnh:
[name]= tên của ứng dụng của bạn. Ví dụ của tôi: heroku create ubuntu-viet-push-android
Sau bước này một ứng dụng Heroku được tạo ra có dạng địa chỉ: http://exam.herokuapp.com
Mở lại file snapserver.settings và thay thế:
* url=địa chỉ heroku app của bạn
Lưu file.
c) Tải lên mã nguồn bằng lệnh:
Sau khi tải xong, kích hoạt server:
d) Kiểm tra server bằng truy cập địa chỉ server heroku của bạn. Bạn thành công trong việc thiết lập server nếu thấy có thông báo ““Welcome to snapnotify-server! Your server is now running at: http://URL_HERE:PORT_HERE””
4) Tải Client và cấu hình cho thiết bị Android
Bạn có thể dùng chương trình SnapNotify.apk. Mở chương trình:
Server Location= tên địa chỉ server heroku của bạn+”/register'
Sender Id= số ID Project
Lần lượt nhấn nút “Set Prefs” và nút ““Reregister”
5) Gửi tin từ Server
Để gửi tin đến thiết bị Android, mở Terminal và chạy lệnh dưới cấu trúc sau :
Nếu bạn thành công, thiết bị Android của bạn sẽ có tin nhắn dưới dạng push-notification.
Chúc bạn thành công @
GCM là phù hợp cho việc xây dựng các ứng dụng nhắn tin tức thời hoặc tương tác giữa người dùng và nhà phát triển ứng dụng. Ví dụ:
* Thông báo tới thiết bị Android của người khi có một Email mới.
* GCM gửi thông báo tới người quản lý khi có Một đơn đặt hàng trên trang Web của họ.
* Gửi tin nhắn tới cả một cồng đồng như : cồng đồng nhân viên thuộc cùng một công ty, học sinh hoặc phụ huynh của một trường học với chi phí thấp nhất và hiệu quả nhất.
Để hiểu rõ về GCM, bài viết ngày hôm nay của Tuần Báo Ubuntu Việt sẽ giới thiệu về cách tương tác giữa Ubuntu và Android đơn giản qua GCM.
Note: Bài viết có sử dụng tài liệu hướng dẫn sử dụng của Google Dev và http://sagark.org
1) Lấy API KEY của GCM
Đầu tiên, bạn cần đăng ký Google Cloud Messaging bằng tài khoản Google của bạn. Truy cập Google Console tại: https://cloud.google.com/console/project
a. Nếu bạn chưa tạo một dự án API nào, nhấp vào “Create Project”.
b. Cung cấp một tên dự án và nhấn Create.
c. Một khi dự án đã được tạo ra, một trang xuất hiện hiển thị ID dự án của bạn và số lượng dự án. Ví dụ, số dự án: 670.330.094.152
d. Copy số ID Project này. Bạn sẽ sử dụng nó như GCM sender ID.
Sau đó, bạn cần kích hoạt GCM:
a. Trong thanh bên trên bên trái, chọn API & auth.
b. Trong danh sách hiển thị các API, phần Google Cloud Messaging for Android chuyển đổi sang ON.
kích hoạt Google Cloud Messaging trong dự án của bạn |
Lấy API Key:
a. Trong thanh bên trên bên trái, chọn API & auth> Credentials.
b. Trong phần Public API access, nhấp vào Create new key.
c. Trông hộp thoại Create a new key, nhấp vào Android key.
d. Trong hộp thoại cấu hình kết quả, bạn có thể cung cấp chứng nhận SHA1 hoặc bỏ trống.
e. Nhấp vào Create.
Trong trang mới, sao chép Api Key.
Vậy là chúng ta có được ID Project và API KEY. Hãy sao chép nó, chúng ta sẽ dùng nó vào bước tiếp theo.
API Key và ID Project |
2) Mã nguồn cho Server
Tải xuống mã nguồn server mà chúng ta sẽ tải lên Server tại:
https://github.com/sagark/snapnotify-server/zipball/master
Giải nén và mở file snapserver.settings, sau đó thay thế:
* YOUR_API_KEY= số API KEY của bạn
* YOUR_SENDER_ID = số ID Project của dự án vừa tạo
Lưu file. Chuyển đến bước 3.
3) Đăng ký Server và tải mã nguồn chương trình lên server
Trong bài viết này chúng ta sẽ sử dụng trang Heroku để lưu trữ mã nguồn và làm Server. Đăng ký một tài khoản miễn phí tại https://dashboard.heroku.com và một tài khoản GitHub tại https://github.com
a) Tải xuống và cài đặt Heroku Toolbelt – trình quản lý Heroku trên Ubuntu bằng lệnh:
wget -qO- https://toolbelt.heroku.com/install-ubuntu.sh | sh
b) Mở Terminal, chuyển về thư mục chứa mã nguồn server mà chúng ta đã tải ở bước 2. Đăng nhập Heroku bằng lệnh:
heroku login
Dùng tài khoản Heroku của bạn để đăng nhập. Chạy tiếp 3 lệnh sau:
git init
git add .
git common -m 'init'
Đăng nhập bằng tài khoản GitHub vừa đăng ký.
Tạo một ứng dụng Heroku bằng lệnh:
heroku create [name]
[name]= tên của ứng dụng của bạn. Ví dụ của tôi: heroku create ubuntu-viet-push-android
Sau bước này một ứng dụng Heroku được tạo ra có dạng địa chỉ: http://exam.herokuapp.com
Mở lại file snapserver.settings và thay thế:
* url=địa chỉ heroku app của bạn
Lưu file.
c) Tải lên mã nguồn bằng lệnh:
git push heroku master
Sau khi tải xong, kích hoạt server:
heroku ps:scale web=1
d) Kiểm tra server bằng truy cập địa chỉ server heroku của bạn. Bạn thành công trong việc thiết lập server nếu thấy có thông báo ““Welcome to snapnotify-server! Your server is now running at: http://URL_HERE:PORT_HERE””
Kiểm tra server heroku |
4) Tải Client và cấu hình cho thiết bị Android
Bạn có thể dùng chương trình SnapNotify.apk. Mở chương trình:
Server Location= tên địa chỉ server heroku của bạn+”/register'
Sender Id= số ID Project
Lần lượt nhấn nút “Set Prefs” và nút ““Reregister”
5) Gửi tin từ Server
Để gửi tin đến thiết bị Android, mở Terminal và chạy lệnh dưới cấu trúc sau :
curl -d "Test Message, Welcome to Google Cloud Messaging. : )" "http://YOURSERVER/message"
Nếu bạn thành công, thiết bị Android của bạn sẽ có tin nhắn dưới dạng push-notification.
Thử nghiệm gửi tin tới Android qua GCM |
Chúc bạn thành công @
Very nice article, exactly what I needed.
ReplyDelete