Đã khi nào bạn bấm vào một con đường link nhưng sau đó một vận dụng khác được msinh hoạt lên không, hoặc các bạn thường thấy rất nhiều người chia sẻ link nhằm tự đó hoàn toàn có thể tải áp dụng về ? Hẳn có những lúc các bạn đang làm cho, đã thấy cần ko như thế nào. Vậy họ có tác dụng ra làm sao nhỉ ?
Câu trả lời đó là thực hiện Deeplink kia. Sau trên đây bọn họ thuộc tìm hiểu nhé !!!
I. Khái niệm
1. Deep link là gì ?
Là nhân tố góp di chuyển thân website với ứng dụng. Chúng dễ dàng là URL mà lại giúp di chuyển tới yếu tố nào đó của áp dụng.
Bạn đang xem: Deep link là gì
Tuy nhiên ví như ứng dụng khác trong máy có thể cách xử trí cùng một số loại Intent, thì người tiêu dùng có thể sẽ không đi thẳng liền mạch mang đến app.

Có một tư tưởng không giống là App link. Nó cũng chính là deep links cơ mà đã có được chuẩn xác là nằm trong về tiện ích của mình. Lúc bấm vào URL, nó vẫn msống luôn luôn ứng dụng, ko hiển thị dialog lựa chọn ứng dụng
2. Kịch phiên bản từ Deep link cho tới câu chữ app
khi cliông chồng một URl, hệ thống Android đang làm từng bước một sau, theo tuần từ bỏ, cho tới Lúc thành công
Mở ứng dụng mặc định theo setting của người tiêu dùng rất có thể xử lý URL, nếu được chỉ định
Msinh hoạt ứng dụng tốt nhất hoàn toàn có thể cách xử lý URL
Cho phnghiền người dùng lựa chọn ứng dụng trường đoản cú dialog
3. App liên kết vs deep link

App link đang dẫn người dùng thẳng vào phầm mềm cơ mà không hiện tại dialog như trên
Cách làm
Set android:autoVerify="true"
Sẽ đảm bảo toàn thể host links cùng với URL
Check cục bộ intent filter bao gồm
Action: android.intent.action.VIEWCategories: android.intent.category.BROWSABLE với android.intent.category.DEFAULTData scheme: http or httpsGiả sử kiếm được thì đã check file Digital Asset Links
Digital Asphối Links yêu cầu có sinh sống bên trên website để thông tư tiện ích link cùng với website cùng xác thực URL intent
4. Tạo deeplink với Lấy parameter
Mình đang truyền id với name theo 2 bí quyết sau
Sử dụng câu lệnh cmd
adb shell "am start -W -a game android.intent.action.VIEW -d "http://www.testphầm mềm.com/main?id=12345&name=Trung" gooner.kiểm tra.training_deep_link"Sử dụng tệp tin html
Open APPFile html

Giao diện web

Code để đưa, vào onCreate hoặc onStart
val data = intent?.data.let Log.d("Data11", " " + it?.getQueryParameter("id")) Log.d("Data11", " " + it?.getQueryParameter("name"))
5. Tương tác với deeplink
a. Deepliên kết không nghỉ ngơi vào văn bản trang webNếu liên kết không ở vào câu chữ của một trang web: sẽ xuất hiện dialog lựa chọn appSau kia dấn app của mình sẽ mngơi nghỉ tiện ích lên
b. Trường hòa hợp link được đính thêm vào nội dung trang web
Có app: msinh hoạt phầm mềm
Không có: phầm mềm ko được msống lên, không tồn tại gì xẩy ra lúc bấm vào deeplink
Các chúng ta còn lại ý kiến phần này nhé, bản thân demo đôi khi hiệu quả không dk như bên trên.Mong có sự góp ý của các bạn
6. Deeplinks cùng với Navigation Component
a. Một số vụ việc Khi sử dụng deeplinks nlỗi sau:
1. Phải chế tạo ra nhiều liên kết sinh hoạt tệp tin manifest, bao gồm cả http với https
2. Xử lý parameters trong link
Case 1
val myUri = Uri.parse(myLink) // http://mysite.com?myParam=VALUEval myParamValue = myUri.getQueryParameter("myParam")Case 2
val myUri = Uri.parse(myLink) // http://mysite.com/VALUE/stuffval myParamValue = myUri.pathSegments<0>
3. Xử lý dịch rời màn khi mở link
Navigation để giúp khắc phục các vụ việc này1.
Xem thêm: Từ Điển Anh Việt " Signal To Noise Ratio Là Gì ? Từ Điển Anh Việt Signal To Noise Ratio Là Gì
URI ko có scheme => Schema sẽ tiến hành coi là http tuyệt https
Các tmê mẩn số được viết vào vết cùng thẻ . Muốn nắn thừa nhận ta đơn giản và dễ dàng chỉ việc gọi getArguments() rồi get ra thuộc tính là xong
cũng có thể áp dụng Safe Args nhằm tiện thể mang đến câu hỏi rước dữ liệu
Về cơ bản nó đã mang theo file navigation graph ta tạo nên (tùy thuộc vào nhiều loại deep link), tự đó đơn giản và dễ dàng hóa Việc tạo nên di chuyểnb. Phân loại
Có 2 nhiều loại deep link:
Explicit: áp dụng PendingIntent, hay được dùng trong notification, ứng dụng widget
Implicit: sử dụng URI, lúc bấm vào thì mngơi nghỉ apps
7. DynamicLink của Firebase
a. Khái niệm
DynamicLink FireBase là những link links vận động Theo phong cách bạn muốn, nó thực hiện được bên trên những căn nguyên (iOS, Android, Web) với cho dù vận dụng của công ty đã có được cài đặt tuyệt chưa.
cũng có thể sinh sản bằng cách sử dụng Firebase console, REST API, iOS hoặc Android Builder API, hoặc thêm tmê mệt số Dynamic Link cho tới domain của phầm mềm.
Lợi ích:
Có thể làm tăng lượt người tiêu dùng app trường đoản cú web
Quảng cáo dễ dàng và đơn giản rộng, chỉ việc gửi link là được

Cách hoạt động

b. Hoạt động trong số trường hợp
Firebase deeplink cần phải có mạng internet new có thể chuyển động, ko đang báo lỗi
Nếu tất cả app thì vẫn mở app
Ko tất cả app thì ta đang rất có thể chỉ định dẫn đến google play store hoặc link nhưng ta muốn
c. Cách khởi tạo
Sử dụng Firebase console: đơn giản dễ dàng, với mục đích nhằm thử nghiệm hoặc cho team kinh doanh dễ dàng quảng bá app
fun generateContentLink(): String val baseUrl = Uri.parse("https://gooner.demo/test/?title=Happy-to-meet-you") val tên miền = "https://gooner.page.link" val liên kết = FirebaseDynamicLinks.getInstance() .createDynamicLink() // deep links .setLink(baseUrl) // dynamic links .setDomainUriPrefix(domain) .setAndroidParameters( DynamicLink.AndroidParameters.Builder("gooner.demo.training_deep_link") .setFallbackUrl(Uri.parse("https://gooner.demo/test/?title=Can"t-install-on-device")).build() ) .setIosParameters(DynamicLink.IosParameters.Builder("gooner.thử nghiệm.iOS").build()) .buildDynamicLink() return links.uri.toString()
d. So sánh
Dynamic Link vs Deep LinkDynamic liên kết bao gồm cả deeplinks + một trong những thông báo khác như package name, version, links khi không thiết lập được phầm mềm (afl), ...So sánh

Long vs short dynamic link
Long: đựng rất đầy đủ báo cáo nlỗi package android, quả táo, parameter
Short: link rút ít gọn, bịt giấu đi thông tin
Long Dynamic Linkhttps://gooner.page.link/?link=https://gooner.demo/main/?title%3DHappy-to-meet-you-kaka11111&apn=gooner.test.training_deep_linkShort Dynamic Linkhttps://gooner.page.link/main Trong code gen ra bằng buildDynamicLink() cùng buildShortDynamicLink()
II. Code
1. Code deep links cơ bản
Thêm ACTION_VIEW: nhằm intent filter có thể tra cứu tự Google SearchThêm thẻ Thêm thẻ // Để có thể mlàm việc ứng dụng tự trình duyệt// Mngơi nghỉ ứng dụng trường đoản cú implicit intent, nếu như đúng component name thì tiện ích có thể được mlàm việc Cùng 1 activity hoàn toàn có thể có rất nhiều intent filter với thẻ khác nhau
Và nếu viết nlỗi bên trên thì chỉ tất cả https://www.example.com cùng app://open.my.app là rất có thể mang đến app
Nếu viết như sau
... Thì sẽ tạo nên ra 4 URL có thể mang đến tiện ích.
### Deepliên kết có rất nhiều áp dụng trong thực tế, quan trọng vào câu hỏi PR, tiếp thị sản phẩm. Qua nội dung bài viết các bạn cũng thấy cũng tương đối dễ dàng làm, dễ dàng học tập nên ko làm sao. Vậy còn chần chừ gì nữa mà lại ko trải nghiệm luôn thôi
