Deferred Deep Link: nó là gì, cách hoạt động và được sử dụng trong phát triển

Tác giả: IT Sectr Đã đăng: 2026-05-15 Thời gian đọc: 8 phút

Deferred Deep Link là một cơ chế lưu giữ ngữ cảnh chuyển tiếp mục tiêu ngay cả khi ứng dụng chưa được cài đặt trên thiết bị của người dùng. Theo Branch Resources, sau khi cài đặt ứng dụng, hệ thống tự động xử lý ngữ cảnh đã lưu và chuyển hướng người dùng đến màn hình mục tiêu. Deferred Deep Link giải quyết vấn đề chính của deep link thông thường — không thể hoạt động với các ứng dụng chưa được cài đặt.

Các điểm chính

  • Deferred Deep Link — một deep link lưu giữ ngữ cảnh chuyển tiếp và khôi phục nó sau khi cài đặt ứng dụng.
  • Nguyên lý — trình duyệt lưu tham số liên kết vào localStorage hoặc clipboard, và SDK ứng dụng đọc chúng ở lần khởi chạy đầu tiên sau khi cài đặt.
  • Firebase Dynamic Links — dịch vụ miễn phí để triển khai deferred deep link với tích hợp tối thiểu qua SDK.
  • Branch.io — nền tảng thương mại với hỗ trợ deferred deep link nâng cao và ghi nhận lượt cài đặt.
  • Giới hạn — deferred deep link không hoạt động trong tất cả trình duyệt và yêu cầu cập nhật SDK khi quy tắc nền tảng thay đổi.

Deferred Deep Link là một loại deep link hoạt động theo hai giai đoạn: đầu tiên người dùng nhấp vào liên kết trước khi cài đặt ứng dụng, sau đó hệ thống khôi phục ngữ cảnh sau khi hoàn tất cài đặt. Deep link thông thường chỉ mở ứng dụng nếu nó đã được cài đặt, trong khi deferred lưu tất cả tham số chuyển tiếp và truyền chúng ở lần khởi chạy đầu tiên.

Công nghệ này trở nên đặc biệt được ưa chuộng với sự phát triển của tiếp thị di động, nơi các chiến dịch quảng cáo thường nhắm đến người dùng chưa cài đặt ứng dụng. Nếu không có deferred deep link, mỗi lần chuyển tiếp như vậy sẽ chỉ kết thúc bằng việc tải ứng dụng mà không có bất kỳ ngữ cảnh nào — người dùng sẽ đến màn hình chính thay vì màn hình mục tiêu.

Khác biệt so với deep link thông thường

Deep link thông thường mở nội dung mục tiêu trong ứng dụng đã được cài đặt. Nếu ứng dụng chưa được cài đặt, trình duyệt hiển thị lỗi. Deferred Deep Link hoạt động thông qua máy chủ trung gian chuyển hướng người dùng đến cửa hàng và sau khi cài đặt, thông báo cho ứng dụng về các tham số đã lưu. Nhờ vậy, liên kết deferred không yêu cầu ứng dụng phải được cài đặt trước và cung cấp hành trình người dùng liền mạch từ quảng cáo đến nội dung.

Deferred Deep Link hoạt động như thế nào

Quá trình xử lý deferred deep link bao gồm ba giai đoạn. Ở giai đoạn đầu tiên, người dùng nhấp vào liên kết — máy chủ xác định xem ứng dụng đã được cài đặt chưa. Nếu chưa, nó tạo mã định danh phiên duy nhất, lưu tham số chuyển tiếp và chuyển hướng người dùng đến App Store hoặc Google Play với mã định danh này.

Ở giai đoạn thứ hai, người dùng cài đặt ứng dụng từ cửa hàng. Sau khi cài đặt và khởi chạy lần đầu, SDK nền tảng liên hệ với máy chủ, truyền mã định danh thiết bị và nhận tham số chuyển tiếp đã lưu. Ở giai đoạn thứ ba, ứng dụng xử lý dữ liệu nhận được và tự động chuyển hướng người dùng đến màn hình mục tiêu.

Vòng đời của liên kết deferred

Để lưu tham số giữa lần nhấp liên kết và cài đặt, nhiều cơ chế khác nhau được sử dụng. Trên iOS, đó là iCloud Keychain hoặc clipboard; trên Android, đó là Install Referrer API. Firebase Dynamic Links sử dụng kết hợp localStorage của trình duyệt và liên kết giới thiệu của cửa hàng để truyền mã định danh phiên. Branch.io sử dụng giao thức riêng với sao lưu dữ liệu trên nhiều kho lưu trữ.

Deferred Deep Link trên iOS

Trên iOS, deferred deep link được triển khai thông qua kết hợp Universal Links và Shared Web Credentials. Khi người dùng nhấp vào Universal Link đến trang web của ứng dụng, Safari lưu tham số chuyển tiếp vào iCloud Keychain liên kết với tên miền của ứng dụng. Sau khi cài đặt ứng dụng từ App Store, iOS kiểm tra sự tồn tại của dữ liệu đã lưu và truyền chúng cho ứng dụng ở lần khởi chạy đầu tiên.

Apple không cung cấp API tích hợp cho deferred deep link — việc triển khai hoàn toàn phụ thuộc vào SDK bên thứ ba. Firebase Dynamic Links sử dụng cơ chế passive deferred, nơi dữ liệu được lưu trong cookie trình duyệt và được khôi phục thông qua chuyển hướng đến một URL đặc biệt khi ứng dụng khởi chạy lần đầu.

Giới hạn trên iOS

Bắt đầu từ iOS 14, Apple thắt chặt các quy tắc về quyền riêng tư, ảnh hưởng đến cơ chế deferred deep link. Clipboard không còn có thể được sử dụng để đọc dữ liệu nếu không có sự cho phép rõ ràng của người dùng. iCloud Keychain cũng có giới hạn về dung lượng dữ liệu — không quá 4 KB cho mỗi lần ghi. Điều này làm cho các giải pháp máy chủ với mã định danh phiên duy nhất trở thành phương pháp ưa thích để truyền ngữ cảnh.

Deferred Deep Link trên Android

Android cung cấp các tùy chọn linh hoạt hơn cho deferred deep link thông qua Install Referrer API. Khi người dùng nhấp vào liên kết đến Google Play, cửa hàng sẽ thu thập referrer — một chuỗi chứa tham số chuyển tiếp. Sau khi cài đặt, ứng dụng nhận chuỗi này qua Install Referrer API và trích xuất ngữ cảnh mục tiêu từ đó. Đây là cơ chế deferred deep link đáng tin cậy nhất trên Android.

Đối với ứng dụng phân phối bên ngoài Google Play, Android hỗ trợ BroadcastReceiver giới thiệu. Nhà phát triển có thể gửi Intent tùy chỉnh với tham số sau khi cài đặt và ứng dụng sẽ nhận nó qua BroadcastReceiver đã đăng ký trong tệp kê khai. Tuy nhiên, cơ chế này kém tin cậy hơn vì phụ thuộc vào cách triển khai của trình cài đặt.

Install Referrer API

Install Referrer API cung cấp thông tin về nguồn cài đặt, bao gồm URL referrer, thời gian nhấp và thời gian cài đặt. Độ dài tối đa của chuỗi referrer là 8 KB, đủ để truyền tất cả tham số deep link cần thiết. API khả dụng trên các thiết bị có Google Play Store phiên bản 8.3.73 trở lên và được hỗ trợ trên Android 5.0 (API 21).

Triển khai qua Firebase Dynamic Links

Firebase Dynamic Links là công cụ miễn phí phổ biến nhất để triển khai deferred deep link trên cả hai nền tảng. Firebase tự động xử lý tất cả các giai đoạn của chuyển tiếp deferred: chuyển hướng đến cửa hàng khi không có ứng dụng, lưu trữ tham số trên máy chủ Firebase và truyền chúng cho SDK ở lần khởi chạy đầu tiên của ứng dụng.

Để triển khai, chỉ cần tích hợp Firebase SDK vào dự án, tạo Dynamic Link qua Firebase Console với tham số deep link và chiến dịch. Firebase SDK được tự động gọi khi ứng dụng khởi chạy và kiểm tra Dynamic Link đến qua phương thức getDynamicLink().

Ví dụ thiết lập xử lý

Ví dụ xử lý Firebase Dynamic Link hoãn lại trong Activity bằng Kotlin. Mã hoạt động giống nhau cho cả cold start và warm start khi ứng dụng khởi chạy.

kotlin
class MainActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        checkDeferredLink()
    }

    private fun checkDeferredLink() {
        FirebaseDynamicLinks.getInstance()
            .getDynamicLink(intent)
            .addOnSuccessListener link ->
                val deferredLink = link?.link.toString()
                if (deferredLink.isNotEmpty()) {
                    navigateToContent(deferredLink)
                }
            }
    }
}

Phương thức getDynamicLink() trả về PendingTask với đối tượng DynamicLink. Nếu ứng dụng được cài đặt sau khi nhấp vào liên kết, listener sẽ nhận dữ liệu với tham số. Nếu ứng dụng đã được cài đặt trước khi chuyển tiếp, phương thức sẽ trả về dữ liệu tương tự như với deep link thông thường. Cờ minimumAppVersion trong tham số liên kết cho phép đặt phiên bản ứng dụng tối thiểu để xử lý.

Lợi ích và giới hạn của Deferred Deep Link

Deferred Deep Link mang lại lợi ích đáng kể cho các chiến dịch tiếp thị: người dùng nhận được nội dung mục tiêu sau khi cài đặt mà không cần thao tác thêm, giúp tăng tỷ lệ chuyển đổi và giữ chân người dùng. Đối với chương trình giới thiệu, liên kết deferred cho phép liên kết rõ ràng lời mời với lượt cài đặt và hành động của người dùng mới.

Tuy nhiên, công nghệ này cũng có những giới hạn. Deferred deep link không hoạt động trong các trình duyệt chặn cookie bên thứ ba và trên iOS từ phiên bản 14 yêu cầu cấu hình bổ sung cho iCloud Keychain. Ngoài ra, giữa lần nhấp liên kết và cài đặt có thể trôi qua vài ngày và không phải tất cả SDK đều đảm bảo lưu giữ dữ liệu trong khoảng thời gian đó.

Khi nào nên sử dụng deferred deep link

Deferred deep link là bắt buộc đối với các chiến dịch quảng cáo nhắm đến người dùng mới, bản tin email có lời mời và chương trình giới thiệu. Đối với người dùng đã cài đặt, deep link thông thường là đủ. Nếu ứng dụng không sử dụng chiến dịch tiếp thị hoặc cơ chế giới thiệu, deferred deep link là không cần thiết — Universal Links và App Links là đủ.

Khi chọn cách triển khai, hãy cân nhắc chi phí: Firebase Dynamic Links miễn phí nhưng có phân tích hạn chế. Branch.io và AppsFlyer cung cấp ghi nhận nâng cao nhưng yêu cầu đăng ký. Đối với dự án nhỏ, Firebase là giải pháp tối ưu; đối với doanh nghiệp với hàng chục kênh quảng cáo, MMP thương mại là lựa chọn.

Câu hỏi thường gặp

Deferred deep link khác gì so với deep link thông thường?

Deep link thông thường yêu cầu ứng dụng đã được cài đặt và mở trực tiếp ứng dụng. Deferred Deep Link hoạt động ngay cả khi ứng dụng chưa được cài đặt — nó chuyển hướng đến cửa hàng và sau khi cài đặt, khôi phục ngữ cảnh chuyển tiếp và mở màn hình mục tiêu.

Tham số deferred deep link được lưu trữ trong bao lâu?

Thời gian lưu trữ phụ thuộc vào nền tảng. Firebase Dynamic Links lưu tham số tối đa 30 ngày. Branch.io giữ dữ liệu đến 90 ngày. Trên Android, Install Referrer API lưu chuỗi referrer cho đến lần đọc đầu tiên của ứng dụng, nhưng không quá 90 ngày.

Deferred deep link có hoạt động trong trình duyệt web trên máy tính để bàn không?

Trên máy tính để bàn, deferred deep link không có ý nghĩa vì ứng dụng không thể được cài đặt qua cửa hàng trên máy tính. Khi nhấp vào liên kết từ máy tính để bàn, người dùng sẽ thấy URL dự phòng — phiên bản web của nội dung hoặc trang có mã QR để cài đặt trên thiết bị di động.

Trình duyệt nào hỗ trợ deferred deep link?

Chrome, Safari và Samsung Internet hỗ trợ deferred deep link thông qua cơ chế cookie và localStorage. Firefox có hỗ trợ hạn chế do chính sách chặn cookie bên thứ ba nghiêm ngặt. Để đạt phạm vi phủ sóng tối đa, nên sử dụng SDK Firebase hoặc Branch.io.

Có thể triển khai deferred deep link mà không cần SDK bên thứ ba không?

Về mặt kỹ thuật, có thể triển khai giải pháp riêng thông qua máy chủ trung gian và cơ chế giới thiệu. Tuy nhiên, điều này đòi hỏi phát triển và duy trì cơ sở hạ tầng máy chủ, xử lý cookie, tích hợp với từng cửa hàng và giải quyết vấn đề trên các nền tảng khác nhau. SDK có sẵn của Firebase và Branch.io tăng tốc phát triển lên gấp nhiều lần.

Tổng kết

  • Deferred Deep Link — một deep link với khả năng khôi phục ngữ cảnh hoãn lại sau khi cài đặt ứng dụng, giải quyết vấn đề của deep link thông thường.
  • Nguyên lý — nhấp vào liên kết sẽ lưu tham số trên máy chủ; sau khi cài đặt, SDK liên hệ với máy chủ và khôi phục ngữ cảnh.
  • iOS — được triển khai qua iCloud Keychain và Shared Web Credentials với các giới hạn từ iOS 14.
  • Android — sử dụng Google Play Install Referrer API, cơ chế deferred deep link đáng tin cậy nhất trên nền tảng di động.
  • Firebase Dynamic Links — giải pháp miễn phí với tích hợp tối thiểu, phù hợp với hầu hết các dự án.
  • Branch.io — nền tảng thương mại với ghi nhận nâng cao, deepview và tích hợp mạng quảng cáo.
  • Ứng dụng — deferred deep link cần thiết cho các chiến dịch quảng cáo, chương trình giới thiệu và tiếp thị email nhắm đến người dùng mới.

Chúng tôi sẽ phát triển ứng dụng di động chìa khóa trao tay

IT Sectr tạo các ứng dụng iOS và Android cho các công ty khởi nghiệp và doanh nghiệp từ năm 2017. Chúng tôi sẽ tư vấn và đề xuất giải pháp tốt nhất cho bạn.

Thảo luận dự án

Đọc thêm