Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. Android

Chỉ dẫn nhanh: Cách sử dụng Assist API của Android

Difficulty:BeginnerLength:ShortLanguages:

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

Người dùng Android ngày nay không còn cần phải mở một trình duyệt và thực hiện một hành động tìm kiếm để tìm hiểu về những điều mà họ không rõ khi sử dụng một ứng dụng. Thay vào đó, họ có thể sử dụng một trợ lý ảo. Nếu bạn đang sở hữu một thiết bị chạy Android 6.0 hoặc cao hơn, bạn có thể đã biết đến trợ lý mặc định của nó, ban đầu được gọi là Google Now on Tap. Gần đây, tên gọi của nó đã được thay đổi thành screen search.

Tuy vậy, nó thường không chính xác lắm. Để cải thiện tính chính xác, nhà phát triển ứng dụng phải sử dụng Assist API. Trong chỉ dẫn nhanh này, tôi sẽ giới thiệu với bạn các khái niệm cơ bản của API, và tôi sẽ giúp bạn bắt đầu với việc tạo ra các trợ lý tuỳ biến rất riêng của bạn.

1. Kích hoạt trợ lý mặc định

Nếu bạn chưa bao giờ sử dụng trợ lý ảo trên thiết bị của bạn hoặc trên trình giả lập, thì có thể nó vẫn chưa được kích hoạt. Để kích hoạt nó, hãy bấm và giữ nút home. Xuất hiện một hộp thoại, hãy bấm Yes, I'm in.

Enabling Google screen search

Bây giờ, bạn sẽ có thể truy cập vào trợ lý ảo mặc định từ bất kỳ ứng dụng nào bằng cách nhấn và giữ nút home. Cần lưu ý rằng trợ lý ảo mặc định là một phần của Google app, và hoạt động tốt nhất chỉ sau khi bạn đã đăng nhập vào tài khoản Google của bạn.

2. Gởi thông tin đến Trợ lý ảo

Trợ lý ảo mặc định là rất mạnh mẽ. Nó có thể tự động cung cấp thông tin chính xác dựa trên các nội dung hiện thời của màn hình. Nó làm được như vậy bằng cách phân tích hệ thống phân cấp của activity đang chạy.

Để tìm hiểu cụ thể, hãy tạo ra một activity mới trong dự án Android Studio của bạn và thêm widget TextView sau đây, có tên của một cuốn tiểu thuyết nổi tiếng, vào layout của nó:

Nếu bạn chạy ứng dụng của bạn ngay bây giờ và nhấn giữ nút home, trợ lý ảo mặc định sẽ hiển thị các thẻ mà phần nào đó liên quan đến nội dung của widget TextView.

Cards displayed by the assistant

Bằng cách gửi các thông tin bổ sung cho trợ lý ảo, bạn có thể cải thiện độ chính xác của nó. Để làm như vậy, bạn trước tiên phải thay thế phương thức onProvideAssistContent() của lớp Activity.

Bây giờ bạn có thể sử dụng đối tượng AssistContent để gửi thông tin cho trợ lý ảo. Ví dụ, nếu bạn muốn trợ lý ảo hiển thị một thẻ cho phép người dùng đọc về cuốn tiểu thuyết trên Goodreads, bạn có thể sử dụng phương thức setWebUri().

Thẻ mới sẽ trông giống như thế này:

Card for Goodreads

Assist API cũng cho phép bạn truyền qua cấu trúc dữ liệu cho trợ lý ảo bằng phương thức setStructuredData(), đầu vào của nó là một chuỗi JSON-LD. Cách dễ nhất để tạo ra chuỗi JSON-LD là sử dụng lớp JSONObject và phương thức put() của nó.

Code mẫu sau đây sẽ cho bạn thấy cách tạo ra và gửi các dữ liệu có cấu trúc về tiểu thuyết:

Nếu bạn tạo chuỗi JSON-LD của bạn bằng tay, thì tôi đề nghị bạn hãy chắc chắn rằng nó là hợp lệ bằng cách sử dụng Công cụ kiểm tra cấu trúc dữ liệu của Google.

Validating JSON-LD with Structured Data Testing Tool

3. Tạo một trợ lý ảo tùy biến

Nếu bạn không hài lòng với cách thức trợ lý ảo của Google App xử lý dữ liệu của bạn, thì bạn nên xem xét việc tạo ra trợ lý ảo của riêng bạn. Làm việc đó không mất quá nhiều công sức.

Tất cả các trợ lý ảo tùy biến phải có những thứ sau đây:

  • một đối tượng VoiceInteractionService
  • một đối tượng VoiceInteractionSession
  • một đối tượng VoiceInteractionSessionService
  • một tập tin meta-data của XML mô tả trợ lý ảo tùy biến

Đầu tiên, tạo một lớp Java mới được gọi là MyAssistantSession và làm cho nó trở thành một lớp con của lớp VoiceInteractionSession. Tại thời điểm này, Android Studio sẽ tự động tạo ra một hàm xây dựng cho nó.

Bằng cách override phương thức onHandleAssist() của lớp, bạn có thể định nghĩa hành vi của trợ lý ảo của bạn. Còn bây giờ, hãy làm cho nó phân tích chuỗi JSON-LD mà chúng ta đã tạo ra trong bước trước đó và hiển thị nội dung của nó như là một thông báo Toast. Có thể bạn đã đoán ra, để truy vấn chuỗi JSON-LD, bạn phải sử dụng phương thức getStructuredData() của đối tượng AssistContent.

Đoạn code sau đây cho bạn thấy cách làm thế nào để hiển thị giá trị của khoá description của chuỗi JSON-LD  như là một thông báo Toast.

Một đối tượng VoiceInteractionSession phải được khởi tạo bên trong một đối tượng VoiceInteractionSessionService. Vì vậy, hãy tạo một lớp Java mới được gọi là MyAssistantSessionService và làm cho nó trở thành lớp con của lớp VoiceInteractionSessionService. Bên trong phương thức onNewSession(), gọi hàm xây dựng của MyAssistantSession.

Trợ lý ảo của chúng ta cũng cần một đối tượng VoiceInteractionService. Vì vậy, hãy tạo ra một đối tượng và gọi nó là MyAssistantService. Bạn không phải viết bất kỳ code nào bên trong nó.

Để xác định các cấu hình chi tiết của trợ lý, bạn phải tạo một tập tin meta-data của XML và đặt nó trong thư mục res/xml của dự án của bạn. Phần tử gốc của tập tin phải có thẻ <voice-interaction-service> chỉ định tên đầy đủ của VoiceInteractionService và lớp con VoiceInteractionSessionService.

Dưới đây là một tập tin meta-data mẫu:

Cuối cùng, khi định nghĩa các service trong tập tin AndroidManifest.xml của dự án, bạn hãy chắc chắn rằng chúng yêu cầu quyền truy cập BIND_VOICE_INTERACTION.

Trợ lý ảo của bạn bây giờ đã sẵn sàng.

4. Sử dụng trợ lý ảo tùy biến

Để có thể sử dụng trợ lý ảo tùy biến của bạn, bạn phải thiết lập nó như là trợ lý ảo mặc định của thiết bị Android. Do đó, hãy mở ứng dụng Settings và tìm đến Apps > Default Apps > Assist & voice input. Tiếp theo, nhấp vào tùy chọn Assist app để chọn trợ lý của bạn.

Choosing a custom assistant

Tại thời điểm này, nếu bạn chạy ứng dụng của bạn và nhấn nút home một lúc, bạn có thể thấy thông báo Toast của trợ lý tuỳ biến.

Toast from custom assistant

Kết luận

Trong chỉ dẫn nhanh này, bạn đã học được cách sử dụng Assist API để tương tác với trợ lý ảo trên nền tảng Android. Bạn cũng đã học được cách tạo ra một trợ lý ảo tuỳ biến rất cơ bản. Nhưng hãy thận trọng: bởi vì trợ lý ảo có thể đọc hầu như tất cả các văn bản được trình bày trên màn hình của người dùng, bạn phải chắc chắn rằng trợ lý tùy biến của bạn xử lý các dữ liệu nhạy cảm một cách an toàn.

Để tìm hiểu thêm về Assist API, hãy tham khảo tài liệu hướng dẫn chính thức của nó. Và để tìm hiểu thêm về những phương pháp lập trình và API hiện đại cho nền tảng Android, hãy xem qua một số khoá học và hướng dẫn của chúng tôi ở đây trên Envato Tuts+!


Advertisement
Advertisement
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.