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ác chức 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.

Người dùng nhấp vào đường liên kết trên thiết bị với một mục tiêu duy nhất: 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, 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à 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ẽ được chuyển thẳng đến 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 mà bạn có thể tạo trong ứng dụng Android: đường liên kết sâu, đường liên kết 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 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à 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ư 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 cho thấy 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 có mở đường liên kết trong Maps hay Chrome hay không.

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 Đường liên kết trong ứng dụng Android) sẽ luôn cho thấy 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 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 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ề bộ lọc đường liên kết 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 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 người dùng đã cài đặt ứng dụng đó – hộp thoại phân định sẽ không xuất hiện.

Nếu không muốn ứng dụng của bạn làm trình xử lý mặc định, người dùng 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" />

    <!-- Do not include other schemes. -->
    <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 những lợi ích sau:

  • Bảo mật và cụ thể: Đường liên kết trong ứng dụng Android sử dụng các URL HTTP liên kết đến một miền trang web mà bạn sở hữu. Vì vậy, không có ứng dụng nào khác có thể sử dụng các đườ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 trang web của bạn thay vì truy cập ứng dụng — không có lỗi 404, không có 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 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 và truy cập vào 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 một URL trên Google trong trình duyệt 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 trang web và định cấu hình ứng dụng để sử dụng dữ liệu từ ý định nhằm đưa người dùng đến đúng nội dung trong ứng dụng. Tìm hiểu thêm trong phần Tạo đường liên kết sâu đến nội dung trong ứng dụng.
  2. Thêm tính năng 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 tệp JSON chứa Đườ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 trong ứng dụng.

Thay vì tài liệu được liên kết ở trên, Trợ lý đườ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 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 thành công một ứng dụng, trang tổng quan (nằm trong mục Phát triển > Đường liên kết sâu) sẽ hiển thị thông tin tổng quan về các đườ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 trong Play Console

Trang tổng quan cung cấp các mục sau:

  • Điểm nổi bật của cấu hình đường liên kết sâu tổng thể
  • Tất cả miền được khai báo trong tệp kê khai
  • Đườ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 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 về trang tổng quan.