Ý định tích hợp cho Hành động trong ứng dụng

Các ý định tích hợp (BII) cho phép ứng dụng của bạn thể hiện cho Google khả năng thực hiện của nó. Bằng cách khai báo các khả năng trong tệp shortcuts.xml rồi ánh xạ các tham số ý định đến phương thức thực hiện, bạn đã giúp Trợ lý Google khởi chạy ứng dụng trong một màn hình cụ thể, để phản hồi một truy vấn và hỗ trợ người dùng hoàn thành một nhiệm vụ.

Các ý định tích hợp được nhóm theo danh mục ứng dụng. Mỗi danh mục đại diện cho một tập hợp các thao tác phổ biến mà người dùng thường muốn thực hiện trên ứng dụng của họ. Danh sách đầy đủ các BII, tham số và truy vấn mẫu có thể sử dụng để thử nghiệm có trong tệp tham chiếu ý định tích hợp.

Nhiều BII có các yêu cầu triển khai bổ sung và đề xuất. Những yêu cầu và đề xuất này giúp ứng dụng của bạn mang lại trải nghiệm tốt nhất có thể cho người dùng.

Hình 1. Gọi BII START_EXERCISE qua một truy vấn bằng giọng nói tới Trợ lý.
Hình 2. Chạy ứng dụng trên một màn hình cụ thể để bắt đầu thao tác START_EXERCISE.
Hình 3. Cho thấy tiện ích để phản hồi một truy vấn.

Triển khai BII và xử lý các tham số ý định

Đối với Hành động trong ứng dụng, bạn phải khai báo khả năng và xử lý các BII có trong tệp shortcuts.xml. Để triển khai BII và xử lý các tham số BII, hãy làm theo các bước sau:

  1. Khai báo capability với BII đã chọn.
  2. Thêm các phần tử parameter lồng cho mỗi trường BII mà bạn muốn thêm.
    1. Nếu bạn dùng targetClass hoặc targetPackage, hãy ánh xạ chúng đến ý định extras trên Android bằng cách dùng tên bạn chọn.
    2. Nếu bạn dùng URL liên kết sâu, hãy dùng tham số có tên trong chuỗi truy vấn có mẫu URL.

Để xử lý tham số BII, hãy ánh xạ tham số BII tới tham số tương ứng của một ý định Android tường minh trong capability. Sau đó bạn có thể dùng giá trị của tham số đó trong ứng dụng của mình. Ứng dụng của bạn không bắt buộc phải xử lý tham số BII. Tuy nhiên, hãy cố gắng xử lý các trường dữ liệu được đánh dấu là "Được đề xuất" trong nội dung tham khảo về ý định tích hợp sẵn.

Bạn có thể xác định việc thực hiện ý định nhiều lần, mỗi lần thực hiện với bộ tham số đề xuất riêng. Google chọn phương thức thực hiện phù hợp dựa trên các tham số chức năng mà Google xác định được qua cụm từ tìm kiếm của người dùng lẫn các nội dung được khai báo trong ý định.

Ví dụ: ý định actions.intent.START_EXERCISE đề xuất ứng dụng của bạn xử lý tham số BII exercise.name nhưng bạn có thể triển khai BII trong ứng dụng của bạn mà không cần tham số. Bạn có thể làm điều này nếu muốn xử lý truy vấn của người dùng mà không cần tên hoạt động tập thể dục cụ thể, chẳng hạn như "Yêu cầu Example App bắt đầu theo dõi hoạt động tập thể dục".

Đoạn mã sau đây chứa phương thức dự phòng cho một quá trình thực hiện không có tham số bắt buộc nếu các tham số đó không có trong truy vấn của người dùng:

<?xml version="1.0" encoding="utf-8"?>
<shortcuts xmlns:android="http://schemas.android.com/apk/res/android">

    <capability android:name="actions.intent.START_EXERCISE">
        <intent
            android:action="android.intent.action.VIEW"
            android:targetClass="com.example.myapplication.Activity1"
            android:targetPackage="com.example.myapplication">
            <parameter
                android:name="exercise.name"
                android:key="exerciseType"
                android:required="true"
                />
        </intent>
        <intent
            android:action="android.intent.action.VIEW"
            android:targetClass="com.example.myapplication.Activity2">
        </intent>
    </capability>
</shortcuts>

Trợ lý Google sẽ làm mọi cách để cung cấp cho người dùng thông tin phù hợp nhất khi trả về các giá trị tham số cho ứng dụng của bạn. Ví dụ: những truy vấn khi người dùng muốn đặt pizza qua ứng dụng di động Example Restaurant không phải lúc nào cũng có cả vị trí. Để phục vụ người dùng tốt hơn, Trợ lý có thể chọn cung cấp các giá trị vĩ độ và kinh độ của Example App gần nhất cho ứng dụng đó.

Có một yêu cầu bổ sung là bạn không nên để ứng dụng của mình trực tiếp thực hiện hành động sửa đổi trạng thái thế giới thực của người dùng (ví dụ: chuyển tiền, đặt hàng hoặc gửi tin nhắn) mà không xác nhận trước hành động đó với người dùng.

Phân định

Các đối số được truyền đến ứng dụng của bạn (qua <url-parameter> hoặc qua ý định bổ sung) có thể không xác định duy nhất mục bạn muốn người dùng thấy. Trong trường hợp này, hãy dùng giá trị đối số dưới dạng đối số tìm kiếm và đưa người dùng đến trang tìm kiếm của ứng dụng. Họ có thể phân định và chọn mục phù hợp.

Ví dụ: nếu cụm từ tìm kiếm của người dùng là “Đặt trên Example Restaurant” cho BII ORDER_MENU_ITEM thì bạn có thể đưa ra cho người dùng danh sách nhà hàng có tên khớp với từ khoá "Example Restaurant".

Ngôn ngữ và hỗ trợ ngôn ngữ/địa phương

Các ngôn ngữ được hỗ trợ để phát triển và kiểm thử theo từng BII của Hành động trong ứng dụng được liệt kê ở tệp tham chiếu ý định tích hợp. Một số BII có hỗ trợ ngôn ngữ/địa phương riêng cho trường hợp nhà phát triển kiểm thử và trường hợp người dùng kích hoạt qua Trợ lý.