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. Có thể sử dụng đườ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.

Người dùng truy cập vào các đường liên kết trên thiết bị có một mục tiêu trong đầu, đó 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 một đường liên kết ngay trong ứng dụng của mình, bỏ qua hộp thoại lựa chọn ứng dụng hay 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 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 nắm được các loại đường liên kết 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 và 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ỳ đư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 để hướng 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 một đường liên kết sâu, 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ủa bạn) có thể 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 đường liên kết đến bản đồ, hỏi xem bạn muốn 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 trang web (không phải là Đường liên kết trong ứng dụng Android) sẽ luôn hiển thị nội dung trong một 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ài đặt trên thiết bị của người dùng cũng có thể xử lý đường liên kết trang 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 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 tự chỉ định mì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 Đườ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, thì 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 sử dụng URL HTTP liên kết đến một miền trang web mà bạn sở hữu, vì vậy, không ứng dụng nào khác có thể sử 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 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 vào trang web của bạn thay vì truy cập ứng dụng. Không có lỗi 404 hay lỗi 404.
  • 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, hãy thiết lập Đường liên kết trong ứng dụng Android rồi truy cập g.co/InstantApps.
  • Thu hút người dùng từ Google Tìm kiếm: Người dùng trực tiếp mở nội dung cụ thể trong ứng dụng của bạn bằng cách nhấp vào URL của 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 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 của bạn: Trong tệp kê khai ứng dụng, hãy tạo bộ lọc ý định cho URI 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 đó, phát hành 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 ứ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 hướng dẫn bạ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 bạn tải một ứng dụng lên 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. Đường liên kết sâu trên trang tổng quan của Play Console

Trang tổng quan này có các mục sau:

  • Điểm nổi bật về cấu hình đường liên kết sâu tổng thể
  • Tất cả cá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
  • Đường liên kết có lược đồ tuỳ chỉnh
Mỗi phần trong số này sẽ hiển thị 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.