Sử dụng đường liên kết trong ứng dụng Android

Đường liên kết sâu xử lý URI nội dung. Đường liên kết trang web xử lý các giao thức HTTP và HTTPS. Đường liên kết trong ứng dụng Android xử lý thuộc tính autoVerify.
Hình 1. Tính năng của đường liên kết sâu, đường liên kết trang web và Đường liên kết trong ứng dụng Android.

Những người dùng truy cập vào đường liên kết trên thiết bị đều có một mục tiêu duy nhất là truy cập vào nội dung họ muốn xem. Là nhà phát triển, bạn có thể thiết lập Đường liên kết trong ứng dụng Android để đưa người dùng đến nội dung cụ thể của đường liên kết ngay trong ứng dụng của mình, mà bỏ qua hộp thoại lựa chọn ứng dụng, còn gọi là hộp thoại phân định. Vì Đường liên kết trong ứng dụng Android tận dụng các URL HTTP và mối liên kết với một trang web, nên những người dùng chưa cài đặt ứng dụng của bạn sẽ truy cập trực tiếp vào nội dung trên trang web của bạn.

Trước khi triển khai Đường liên kết trong ứng dụng Android, bạn cần hiểu rõ các loại đường liên kết bạn có thể tạo trong ứng dụng Android của mình: đường liên kết sâu, đường liên kết trang web và Đường liên kết trong ứng dụng Android. Hình 1 cho thấy mối quan hệ giữa các loại đường liên kết này. Các phần sau đây sẽ mô tả chi tiết hơn về từng loại đường liên kết.

Đường liên kết sâu là các URI của giao thức bất kỳ có tác dụng đưa người dùng đến thẳng một phần cụ thể trong ứng dụng. Để tạo đường liên kết sâu, hãy thêm bộ lọc ý định để đưa người dùng đến hoạt động phù hợp trong ứng dụng, như minh hoạ trong đoạn mã sau:

<activity
    android:name=".MyMapActivity"
    android:exported="true"
    ...>
    <intent-filter>
        <action android:name="android.intent.action.VIEW" />
        <category android:name="android.intent.category.DEFAULT" />
        <category android:name="android.intent.category.BROWSABLE" />
        <data android:scheme="geo" />
    </intent-filter>
</activity>

Khi người dùng nhấp vào đường liên kết sâu, một hộp thoại phân định có thể xuất hiện. Hộp thoại này cho phép người dùng chọn một trong nhiều ứng dụng (bao gồm cả ứng dụng) có khả năng xử lý đường liên kết sâu đã cho. Hình 2 hiển thị hộp thoại sau khi người dùng nhấp vào một đường liên kết đến bản đồ, hỏi xem mở đường liên kết đó trong Maps hay Chrome.

Hình 2. Hộp thoại phân định

Đường liên kết trang web là các đường liên kết sâu sử dụng giao thức HTTP và HTTPS. Trên Android 12 trở lên, thao tác nhấp vào một đường liên kết web (không phải là Đường liên kết trong ứng dụng Android) sẽ luôn hiện nội dung trong trình duyệt web. Trên các thiết bị chạy các phiên bản Android trước, nếu ứng dụng của bạn hoặc các ứng dụng khác được cài đặt trên thiết bị của người dùng cũng có thể xử lý đường liên kết web, thì người dùng có thể không truy cập trực tiếp vào trình duyệt. Thay vào đó, họ sẽ thấy một hộp thoại phân định tương tự như hộp thoại xuất hiện trong hình 2.

Đoạn mã sau đây cho thấy ví dụ về một bộ lọc đường liên kết trang web:

<intent-filter>
    <action android:name="android.intent.action.VIEW" />
    <category android:name="android.intent.category.DEFAULT" />
    <category android:name="android.intent.category.BROWSABLE" />

    <data android:scheme="http" />
    <data android:host="myownpersonaldomain.com" />
</intent-filter>

Đường liên kết trong ứng dụng Android có trên Android 6.0 (API cấp 23) trở lên là các đường liên kết trang web sử dụng giao thức HTTP và HTTPS, đồng thời chứa thuộc tính autoVerify. Thuộc tính này cho phép ứng dụng của bạn tự chỉ định làm trình xử lý mặc định của một loại đường liên kết nhất định. Vì vậy, khi người dùng nhấp vào một Đường liên kết trong ứng dụng Android, ứng dụng của bạn sẽ mở ngay lập tức nếu được cài đặt — hộp thoại phân định sẽ không xuất hiện.

Nếu người dùng không muốn ứng dụng của bạn là trình xử lý mặc định, họ có thể ghi đè hành vi này trong phần cài đặt của ứng dụng.

Đoạn mã sau đây cho thấy ví dụ về bộ lọc Đường liên kết trong ứng dụng Android:

<intent-filter android:autoVerify="true">
    <action android:name="android.intent.action.VIEW" />
    <category android:name="android.intent.category.DEFAULT" />
    <category android:name="android.intent.category.BROWSABLE" />

    <data android:scheme="http" />
    <data android:scheme="https" />

    <data android:host="myownpersonaldomain.com" />
</intent-filter>

Đường liên kết trong ứng dụng Android mang lại các lợi ích sau:

  • An toàn và cụ thể: Đường liên kết trong ứng dụng Android dùng URL loại HTTP liên kết đến miền trang web mà bạn sở hữu, nhờ đó không ứng dụng nào khác có thể dùng đường liên kết của bạn. Một trong những yêu cầu đối với Đường liên kết trong ứng dụng Android là bạn phải xác minh quyền sở hữu miền của mình thông qua một trong các phương thức liên kết trang web của chúng tôi.
  • Trải nghiệm liền mạch cho người dùng: Vì Đường liên kết trong ứng dụng Android sử dụng một URL HTTP duy nhất cho cùng một nội dung trên trang web và trong ứng dụng của bạn, nên những người dùng chưa cài đặt ứng dụng chỉ cần truy cập trang web của bạn thay vì truy cập vào ứng dụng – không có lỗi 404, không gặp lỗi.
  • Hỗ trợ Ứng dụng Android tức thì: Với Ứng dụng Android tức thì, người dùng có thể chạy ứng dụng Android của bạn mà không cần cài đặt. Để thêm tính năng hỗ trợ Ứng dụng tức thì vào ứng dụng Android của bạn, hãy thiết lập Đường liên kết trong ứng dụng Android và truy cập g.co/InstantApps.
  • Thu hút người dùng qua Google Tìm kiếm: Người dùng trực tiếp mở một số nội dung cụ thể trong ứng dụng của bạn bằng cách nhấp vào một URL trên Google trong trình duyệt cho thiết bị di động, trong ứng dụng Google Tìm kiếm, trong tính năng tìm kiếm trên màn hình trên Android hoặc thông qua Trợ lý Google.

Sau đây là các bước chung để tạo Đường liên kết trong ứng dụng Android:

  1. Tạo đường liên kết sâu đến nội dung cụ thể trong ứng dụng: Trong tệp kê khai ứng dụng, hãy tạo bộ lọc ý định cho URI của trang web và định cấu hình ứng dụng để dùng dữ liệu từ ý định nhằm đưa người dùng đến nội dung phù hợp trong ứng dụng. Tìm hiểu thêm qua bài viết Tạo đường liên kết sâu đến nội dung ứng dụng.
  2. Thêm quy trình xác minh cho đường liên kết sâu: Định cấu hình ứng dụng để yêu cầu xác minh đường liên kết ứng dụng. Sau đó, hãy xuất bản một tệp JSON chứa Digital Asset Links (Đường liên kết đến tài sản kỹ thuật số) trên các trang web của bạn để xác minh quyền sở hữu thông qua Google Search Console. Tìm hiểu thêm trong bài viết Xác minh đường liên kết đến ứng dụng.

Thay vì tài liệu được liên kết ở trên, Trợ lý về đường liên kết trong ứng dụng Android là một công cụ trong Android Studio nhằm hướng dẫn bạn thực hiện từng bước cần thiết để tạo Đường liên kết trong ứng dụng Android.

Để biết thêm thông tin, hãy xem các tài nguyên sau:

Quản lý và xác minh Đường liên kết trong ứng dụng Android

Bạn có thể quản lý và xác minh đường liên kết sâu thông qua Play Console. Sau khi tải lên ứng dụng thành công, trang tổng quan (nằm trong phần Phát triển > Đường liên kết sâu) sẽ hiển thị thông tin tổng quan về đường liên kết sâu và lỗi cấu hình.

Hình 3. Trang tổng quan về đường liên kết sâu trên Play Console

Trang tổng quan này có các phần sau:

  • Điểm nổi bật về cấu hình tổng thể của đường liên kết sâu
  • Tất cả miền được khai báo trong tệp kê khai
  • Các đường liên kết trang web được nhóm theo đường dẫn
  • Những đường liên kết có lược đồ tuỳ chỉnh
Mỗi phần trong số này đều cho thấy trạng thái của đường liên kết sâu và cách khắc phục trong trường hợp xảy ra lỗi.

Vui lòng tham khảo hướng dẫn này để biết thêm thông tin trên trang tổng quan.