Students Save 30%! Learn & create with unlimited courses & creative assets Students Save 30%! Save Now
Advertisement
  1. Code
  2. Android SDK
Code

Android từ đầu: Google Play Services

This post is part of a series called Android From Scratch.
Android From Scratch: Creating Styles and Themes
Android From Scratch: Understanding Android Broadcasts

Vietnamese (Tiếng Việt) translation by Dai Phong (you can also view the original English article)

Thư viện Google Play Services cho phép các nhà phát triển Android dễ dàng kết nối và sử dụng các tính năng được cung cấp bởi Google, và cung cấp khả năng tương thích ngược đối với các tính năng mới. Có hai phần chính trong việc sử dụng Google Play Services, dịch vụ Google back-end và ứng dụng khách. Trong hướng dẫn này bạn sẽ được tìm hiểu về các thành phần khác nhau trong Google Play Services sẵn có cho các ứng dụng của bạn, và làm thế nào để cấu hình chúng thông qua Google Developer Console.

Google Play Services được chứa bên trong một APK và chạy như một dịch vụ nền trên mọi thiết bị Android kết nối với Play Store. Bởi vì Google Play Services được phân phối thông qua Play Store, nên chúng có thể được cập nhật độc lập với nhà sản xuất điện thoại hoặc nhà mạng, cho phép mỗi thiết bị với API 9 trở về trước cập nhật mà không vấn đề gì. Tính trung bình, Google Play Services sẽ cập nhật trên một thiết bị trong vòng một vài ngày, và Google sẽ không phát hành một cập nhật SDK cho các nhà phát triển cho đến khi đại đa số các thiết bị đã có APK mới nhất.

Diagram of Google Play Services and Android

Các thành phần của Play Services

Trong những năm qua, Google Play Services đã đi từ một cách đơn giản để truy cập các tính năng mới của Google theo một cách tương thích ngược đến một thứ có chứa rất nhiều gói khác nhau có thể được sử dụng cho một loạt các tính năng. Biết được những thành phần nào có sẵn trong Google Play Services là bước đầu tiên để biết những gì có thể được sử dụng để cải thiện ứng dụng của bạn. Mỗi thành phần có thể được nhập vào từng dự án của bạn thông qua tập tin build.gradle.

Google+ và Xác thực

Play Services cho phép các nhà phát triển tích hợp với Google+ bằng cách cung cấp xác thực đăng nhập cho các tài khoản Google, khả năng đăng các bài viết tương tác và nhận các thông tin về hồ sơ của người dùng, chia sẻ nội dung và nút +1.

Address

Được thêm vào trong Google Play Services 4.3, tính năng Address cho phép người dùng chọn và nhập các địa chỉ từ một UI mà sau đó sẽ di trú tất cả thông tin thích hợp vào ứng dụng. Điều này cho phép người dùng dễ dàng nhập các thông tin cho bất kỳ địa chỉ nào mà không cần phải dựa vào các dịch vụ định vị, nó có thể không chính xác hoặc có thể không đại diện cho địa chỉ bạn muốn.

App Indexing

App Indexing cho phép người dùng nhấp vào các liên kết web, chẳng hạn như các liên kết kết quả của tìm kiếm Google, và mở chúng trong một ứng dụng Android đã được cài đặt trên thiết bị của họ. Tính năng này cho phép người dùng có một trải nghiệm được tối ưu hoá cho thiết bị của họ và ứng dụng di động.

App Invites

Gói App Invites có chứa một thành phần UI mà sẽ mở trong một ứng dụng di động và cho phép người dùng chia sẻ một liên kết đến ứng dụng của bạn thông qua email với thông tin liên hệ được lựa chọn bởi người dùng. Điều này sẽ giúp tạo ra thêm các cài đặt cho ứng dụng của bạn.

Analytics

Gói này cho phép các nhà phát triển dễ dàng tích hợp với Google Analytics. Sử dụng Analytics, các nhà phát triển và các doanh nghiệp có thể tìm hiểu về cách người dùng tương tác với ứng dụng của họ, cho phép các nhà phát triển thay đổi các phần để hữu ích hơn cho người dùng hoặc thêm chức năng bổ sung trong phần ứng dụng được truy cập nhiều.

Actions

Một trong những tính năng đơn giản trong Google Play Services, là gói Actions, nó thêm hỗ trợ cho các kiểu intent khác nhau được sử dụng cho các dịch vụ của Google, chẳng hạn như tìm kiếm

Awareness

Có sẵn trong gói Context Manager, Awareness API cho phép các nhà phát triển truy cập vào các nguồn dữ liệu khác nhau từ Google để tạo ra các ứng dụng nhận biết theo ngữ cảnh. Nguồn dữ liệu bao gồm thời tiết, cảnh báo, địa điểm, vị trí và hoạt động.

Awareness API representation

Google Cast

Vừa mới được nâng cấp lên Cast SDK 3, gói này cho phép các nhà phát triển kiểm soát các nội dung đang được chơi trên một thiết bị Google Cast, chẳng hạn như một Android TV hoặc Chromecast. Ngoài việc có thể kết nối với các thiết bị Cast và gửi nội dung, SDK này còn cung cấp các thành phần UI phù hợp với các nguyên tắc thiết kế Cast.

Google Cloud Messaging

Google Cloud Messaging cho phép các nhà phát triển gửi tin nhắn từ một dịch vụ back-end cho các ứng dụng khách. Các tin nhắn này có thể được sử dụng để kích hoạt các thông báo hoặc bắt đầu các tác vụ trong một ứng dụng, khối lượng 4kb dữ liệu được phép gửi đi với mỗi tin nhắn.

Google Drive

Sử dụng Google Drive API, bạn có thể tạo, chỉnh sửa và xoá tài liệu, tìm kiếm tập tin, và gắn tài liệu với một thiết bị. Khi một phần tử được gắn vào, thì phiên bản mới nhất sẽ luôn luôn được tải về thiết bị và sẽ sẵn có cho tất cả các ứng dụng truy cập vào tập tin khi offline.

Google Fit

Google Fit cho phép các nhà phát triển lưu trữ dữ liệu sức khoẻ cho người dùng nhằm giúp người dùng theo dõi các thói quen tập thể thao của họ. Tất cả dữ liệu được lưu trữ thông qua Google Fit được lưu trữ online và có thể được truy cập bởi người dùng từ nhiều thiết bị. Người dùng không bao giờ lo lắng về việc mất thông tin của họ nếu họ nâng cấp hoặc thay đổi thiết bị.

Khi dữ liệu được lưu thông qua Google Fit trong ứng dụng của bạn, nó cũng sẵn có thông qua ứng dụng Google Fit cho người dùng để xem và theo dõi thói quen thể thao của họ.

Google Fit app displaying fitness history

Google Location và Activity Recognition

Sử dụng Google Play Services, bạn có thể thu thập thông tin về vị trí (vĩ độ và kinh độ), tốc độ, độ cao và phương hướng. Ngoài vị trí, gói Location của Google Play Services cho phép nhà phát triển xác định những hành động mà người dùng đang làm, chẳng hạn như đi bộ, chạy, đi xe đạp hoặc đi du lịch trên một chiếc xe.

Google Maps

Một trong những tính năng được sử dụng rộng rãi nhất của Google Play Services, đó là Maps bao gồm mọi thứ mà bạn cần để hiển thị một bản đồ Google trong ứng dụng của bạn, đánh dấu, vẽ lên bề mặt bản đồ bằng hình ảnh hoặc hình dạng đơn giản, thêm lớp bên trong, và thậm chí hiển thị chế độ Street View.

Ngoài các tính năng tiêu chuẩn của Maps, Google còn cung cấp một thư viện nguồn mở được gọi là Map Utils cung cấp các tính năng bổ sung, chẳng hạn như bản đồ nhiệt và tập hợp điểm đánh dấu.

Google Maps on Android with markers

Google Ads

Mặc dù nhiều người nghĩ về Google như là một công ty tìm kiếm internet, nhưng mảng chính của họ là quảng cáo. Sử dụng Google Play Services, bạn có thể làm việc với mạng quảng cáo của Google để hiển thị các quảng cáo có kích thước phù hợp cho ứng dụng của bạn, và hy vọng rằng, tạo ra một số thu nhập thêm.

Places

Places API cho phép các nhà phát triển truy cập vào thông tin phong phú từ Google để cung cấp cho người dùng một trải nghiệm phù hợp với vị trí hiện tại của họ bằng cách sử dụng tên và thông tin địa điểm, chứ không phải là một tập hợp các tọa độ. Ngoài việc có thể đơn giản là có được thông tin, tính năng này còn cung cấp một số thành phần UI để chọn các địa điểm gần với người dùng, đem lại cho các nhà phát triển một tính năng dễ sử dụng, đơn giản cho ứng dụng của họ.

Places API Place Picker

Mobile Vision

Mobile Vision cho phép các nhà phát triển phân tích hình ảnh tĩnh hoặc từ một máy ảnh để cung cấp chức năng cho ứng dụng của họ. Sử dụng các tính năng của Mobile Vision, các nhà phát triển có thể phân tích và nhận diện khuôn mặt để xác định vị trí của họ trong một hình ảnh, xác định hình ảnh của mắt, mở hay đóng, và xem đối tượng đang mỉm cười hay không.

Gói này cũng bao gồm khả năng quét và giải thích các mã vạch và mới được thêm vào khả năng phân tích văn bản theo thời gian thực cho các bản dịch, như đã thấy trong ứng dụng Google Translate.

Faces detected via the Vision API

Nearby

Nearby cho phép người dùng tương tác với các thiết bị hoặc hoặc tín hiệu khác trong vùng lân cận của chúng. Sử dụng Nearby Messages API, các thiết bị có thể giao tiếp với nhau thông qua Bluetooth, sóng siêu âm hoặc Wi-Fi. Sử dụng Nearby Messages API, thiết bị có thể khám phá lẫn nhau qua mạng.

Cuối cùng, các tính hiệu có thể được sử dụng để phát sóng thông tin đến các thiết bị ở gần đó, chẳng hạn như URL, sau đó sẽ hiển thị như là các thông báo trên thiết bị của người dùng.

Example of Nearby Beacons broadcasting URLs

Panorama Viewer

Sử dụng tính năng Panorama Viewer, bạn có thể tạo các ứng dụng có thể truy cập vào các hình ảnh với dữ liệu toàn cảnh và hiển thị chúng bằng cách sử dụng Panorama Viewer được tích hợp trong thiết bị. Các hình ảnh toàn cảnh hoạt động tương tự như các hình ảnh Google Street View.

Play Game Services

Play Game Services cung cấp một số công cụ để cải thiện trải nghiệm của các trò chơi của bạn và dễ dàng thêm các tính năng mới. Play Game Services bao gồm các Achievement, Leader Board, hỗ trợ nhiều người chơi, phân tích người chơi, lưu trò chơi, sự kiện và nhiệm vụ, quà tặng và quay video.

SafetyNet

Sử dụng SafetyNet, bạn có thể phân tích phần cứng và phần mềm của một thiết bị để xác nhận rằng một thiết bị sẽ hoạt động như mong đợi khi chạy ứng dụng của bạn. Các thiết bị được so sánh với các thiết bị tương thích được thử nghiệm trước của Google, và kết quả được trả về cho ứng dụng của bạn.

Android Pay

Sử dụng Google Play Services, bạn có thể tích hợp các ứng dụng của bạn với Android Pay, cho phép người dùng mua các sản phẩm thật thông qua ứng dụng của bạn. Nếu ứng dụng của bạn chỉ bán các sản phẩm ảo, bạn nên xem xét sử dụng mua hàng trong ứng dụng của Google Play.

Android Wear

Mặc dù các thành phần UI cho Android Wear sẵn có trong thư viện hỗ trợ Wear, nhưng bất kỳ giao tiếp điện thoại đến thiết bị đeo được xử lý thông qua Google Play Services bằng cách sử dụng Data Layer API để đồng bộ hóa dữ liệu, Message API cho các tin nhắn một lần, và Node API để phát hiện các thiết bị kết nối.

Firebase

Được xây dựng trên trên nền của Google Play Services, Firebase đóng gói nhiều tính năng của Google vào một dịch vụ dễ sử dụng. Firebase cho phép các nhà phát triển Android nhanh chóng tạo ra một cơ sở dữ liệu NoSQL back-end cho phép tự động đồng bộ dữ liệu trên ứng dụng và back-end. Ngoài một back-end dễ sử dụng, Firebase còn thêm hỗ trợ cho Analytics, Google Ads, App Indexing, Cloud Messaging và App Invites.

Kích hoạt Google Play Services

Trước khi sử dụng Google Play Services trong ứng dụng Android của bạn, một số API sẽ yêu cầu bạn sử dụng Google API Console để thiết lập các dịch vụ mà bạn sẽ sử dụng. Trong phần này bạn sẽ tìm hiểu cách kích hoạt các API và tạo ra một khóa API để truy cập vào chúng từ một ứng dụng Android. Mặc dù truy cập vào các API nằm ngoài phạm vi của bài viết này, nhưng bạn có thể tìm thấy nhiều hướng dẫn trên các thành phần của Google Play Services được liệt kê trên Envato Tuts+.

Bước 1: Tạo một dự án

Để tạo ra một dự án mới, nhấp vào nút màu xanh Create Project ở giữa, trên cùng của màn hình.

Google API Console Create Project

Điều này đưa ra một hộp thoại yêu cầu tên của dự án. Có một số giới hạn về những gì bạn có thể đặt tên dự án của bạn như chỉ các chữ cái, số, dấu ngoặc kép, dấu gạch ngang, khoảng trắng, và dấu chấm than là các ký tự được phép.

Google API Console New Project screen

Một khi bạn nhấn Create, một hộp thoại sẽ xuất hiện ở góc dưới bên phải của trang này chỉ ra rằng dự án đang được tạo ra. Một khi nó đã biến mất, dự án của bạn đã có thể truy cập. Bạn sẽ thấy một màn hình tương tự như dưới đây. Nếu không, hãy nhấp vào biểu tượng Google API ở góc trên bên trái để được đưa đến màn hình quản lý API.

Google API Console Overview screen

Bước 2: Kích hoạt các API

Một khi bạn đã tạo ra một dự án, bạn sẽ cần kích hoạt các Google API khác nhau sẽ được sử dụng trong các ứng dụng của bạn. Bạn có thể làm điều này bằng cách vào hộp tìm kiếm và gõ tên của bất kỳ API, hoặc bằng cách chọn nó từ danh sách API trên màn hình tổng quan. Một khi bạn đã chọn một API để kích hoạt, hãy nhấp vào nút Enable màu xanh.

Awareness API message prompting you to create credentials

Nếu cái này là API đầu tiên mà bạn kích hoạt, thì bạn sẽ được nhắc nhở để tạo ra một tập hợp các thông tin chứng chỉ.

Bước 3: Tạo một khóa API

Để sử dụng các API được kích hoạt, bạn sẽ cần phải tạo ra một khóa API cho ứng dụng Android của bạn. Trên trang thông tin chứng chỉ cho các dự án Google của bạn, chọn một trong các API đã được kích hoạt của bạn từ menu thả xuống ở trên và Android từ cái thứ hai.

Google API Console Add credentials to your project

Tiếp theo bạn sẽ được đưa đến màn hình mà bạn có thể nhập tên gói cho ứng dụng của bạn và SHA1 cho chữ ký điện tử của ứng dụng. Để nhận được chữ ký điện tử SHA1 cho khóa gỡ lỗi của bạn trên Linux hoặc OS X, nhập lệnh sau trong một cửa sổ Terminal.

Trên Windows, bạn có thể chạy lệnh tương tự với đường dẫn thiết lập vị trí của tập tin debug.keystore của bạn.

Terminal window for creating credentials

Một khi bạn đã có khóa SHA1 của bạn, hãy nhập vào trình tạo chứng chỉ Google API.

Google API Console Create an API Key

Một khi bạn nhấp vào nút Create API key, bạn sẽ được trao chìa khóa API mà bạn sẽ cần sử dụng trong ứng dụng Android của bạn.

Google API Console API Key

Tổng kết

Trong bài này bạn đã tìm hiểu về Google Play Services là gì và những tính năng nào mà nó có thể cung cấp cho các ứng dụng Android. Ngoài ra, bạn còn được giới thiệu Firebase, một công cụ mạnh mẽ mà cung cấp nhiều dịch vụ tuyệt vời cho các ứng dụng của bạn, và đã học được cách để tạo một khóa API để truy cập Google Play Services trong ứng dụng của bạn.

Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.