Deep link là gì

Deeplink cho Dynamic liên kết trong Android - Những vấn đề cần biết

Đã bao giờ chúng ta nhấn vào một mặt đường link mà sau đó một ứng dụng khác được mngơi nghỉ lên không, hoặc chúng ta thường thấy các fan chia sẻ link nhằm tự kia có thể download ứng dụng về ? Hẳn có lúc các bạn đã làm cho, đang thấy yêu cầu ko như thế nào. Vậy chúng ta làm cho ra làm sao rò rỉ ?

Câu trả lời chính là thực hiện Deeplink kia. Sau trên đây bọn họ cùng khám phá nhé !!!

I. Khái niệm

1. Deep liên kết là gì ?

Là yếu tố góp dịch chuyển giữa website cùng ứng dụng. Chúng dễ dàng và đơn giản là URL mà lại giúp dịch chuyển cho tới yếu tắc làm sao đó của áp dụng.

Bạn đang xem: Deep link là gì

Tuy nhiên nếu áp dụng không giống vào sản phẩm công nghệ rất có thể xử lý thuộc loại Intent, thì người dùng rất có thể sẽ không còn đi thẳng đến app.

*

Có một định nghĩa khác là App link. Nó cũng đó là deep link cơ mà đã làm được chuẩn xác là ở trong về phầm mềm của mình. Khi nhấp vào URL, nó vẫn mlàm việc luôn phầm mềm, không hiển thị dialog chọn ứng dụng

2. Kịch phiên bản từ bỏ Deep link cho tới văn bản app

Lúc cliông chồng một URl, hệ thống Android vẫn làm từng bước sau, theo tuần từ bỏ, cho tới Lúc thành công

Mlàm việc vận dụng mang định theo setting của người dùng hoàn toàn có thể cách xử trí URL, giả dụ được chỉ định

Mnghỉ ngơi vận dụng tuyệt nhất hoàn toàn có thể giải pháp xử lý URL

Cho phép người tiêu 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 vẫn dẫn người tiêu dùng thẳng vào phầm mềm mà ko hiện nay dialog như trên

Cách làm

Set android:autoVerify="true"

Sẽ chính xác toàn cục host links cùng với URL

Chechồng toàn thể intent filter bao gồm

Action: game android.intent.action.VIEWCategories: app android.intent.category.BROWSABLE và apk.intent.category.DEFAULTData scheme: http or httpsGiả sử tìm được thì đang kiểm tra tệp tin Digital Asset Links

Digital Asmix Links phải gồm ở trên trang web nhằm chỉ thị ứng dụng link với trang web cùng bảo đảm URL intent

4. Tạo deeplinks cùng Lấy parameter

Mình đã truyền id cùng 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.testtiện ích.com/main?id=12345&name=Trung" gooner.test.training_deep_link"Sử dụng file html

xuất hiện APPFile html

*

Giao diện web

*

Code để đưa, trong 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 cùng với deeplink

a. Deeplinks ko nghỉ ngơi vào văn bản trang web

Nếu liên kết không nghỉ ngơi trong văn bản của một trang web: đã lộ diện dialog lựa chọn app

Sau đó dấn app của bản thân vẫn msinh hoạt ứng dụng lên

b. Trường vừa lòng link được thêm vào văn bản trang web

Có app: mở phầm mềm

Không có: tiện ích ko được msinh sống lên, không có gì xẩy ra Khi bấm vào deeplink

Các chúng ta còn lại ý kiến phần này nhé, mình thử đôi lúc công dụng ko dk nhỏng bên trên.Mong bao gồm sự góp ý của các bạn

6. Deeplinks cùng với Navigation Component

a. Một số sự việc Khi áp dụng deeplink như sau:

1. Phải chế tạo ra các link sinh sống tệp tin manifest, bao hàm cả http cùng 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 chuyển màn Khi mnghỉ ngơi link

Navigation sẽ giúp đỡ khắc phục và hạn chế các vấn đề này

1.

Xem thêm: Phím Tắt Để Mở Học Viện Trong Game? ? Thực Hiện Một Bản Ghi Trong Ghi Âm Trên Iphone

URI ko có scheme => Schema sẽ tiến hành xem là http giỏi https

Các tham mê số được viết trong lốt cùng thẻ . Muốn nhấn ta đơn giản chỉ việc Gọi getArguments() rồi get ra trực thuộc tính là xong

cũng có thể áp dụng Safe Args để một thể mang lại câu hỏi rước dữ liệu

Về cơ bạn dạng nó đã rước theo file navigation graph ta tạo ra (tùy theo nhiều loại deep link), từ đó dễ dàng hóa Việc tạo di chuyển

b. Phân loại

Có 2 các loại deep link:

Explicit: áp dụng PendingIntent, hay sử dụng vào notification, tiện ích widget

Implicit: thực hiện URI, Lúc nhấp vào thì msống apps

7. DynamicLink của Firebase

a. Khái niệm

DynamicLink FireBase là những liên kết liên kết vận động theo cách bạn có nhu cầu, nó sử dụng được bên trên nhiều căn nguyên (iOS, Android, Web) với mặc dù ứng dụng của doanh nghiệp đã có được thiết lập tuyệt không.

Có thể chế tác bằng phương pháp sử dụng Firebase console, REST API, iOS hoặc Android Builder API, hoặc thêm tđam mê số Dynamic Link cho tới domain của ứng dụng.

Lợi ích:

Có thể làm tăng lượt người sử dụng tiện ích tự web

Quảng cáo dễ dàng rộng, chỉ việc gửi links là được

*

Chia sẻ ngôn từ của phầm mềm dễ hơn, bên trên bất kể nền tảng gốc rễ làm sao, giỏi vẫn sử dụng phầm mềm tuyệt chưa

Cách hoạt động

*

b. Hoạt hễ trong những ngôi trường hợp

Firebase deeplinks cần có mạng internet new hoàn toàn có thể hoạt động, ko vẫn báo lỗi

Nếu gồm ứng dụng thì đang mngơi nghỉ app

Ko gồm app thì ta sẽ rất có thể chỉ định mang tới 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 tiêu để thử nghiệm hoặc mang đến đội marketing dễ dàng PR app

*

Trong code

fun generateContentLink(): String val baseUrl = Uri.parse("https://gooner.demo/test/?title=Happy-to-meet-you") val domain = "https://gooner.page.link" val link = FirebaseDynamicLinks.getInstance() .createDynamicLink() // deep link .setLink(baseUrl) // dynamic liên kết .setDomainUriPrefix(domain) .setAndroidParameters( DynamicLink.AndroidParameters.Builder("gooner.kiểm tra.training_deep_link") .setFallbackUrl(Uri.parse("https://gooner.demo/test/?title=Can"t-install-on-device")).build() ) .setIosParameters(DynamicLink.IosParameters.Builder("gooner.demo.iOS").build()) .buildDynamicLink() return links.uri.toString()

d. So sánh

Dynamic Link vs Deep LinkDynamic links bao hàm cả deeplink + một trong những thông tin khác ví như package name, version, liên kết khi không tải được phầm mềm (afl), ...

Xem thêm: Tiểu Sử Ngô Kiến Huy: Bạn Bè Lo Vì Tôi 31 Tuổi Vẫn Ham Chơi, Ngô Kiến Huy

So sánh

*

Long vs short dynamic link

Long: chứa khá đầy đủ thông tin nlỗi package android, ios, parameter

Short: liên kết rút ít gọn gàng, 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.demo.training_deep_linkShort Dynamic Linkhttps://gooner.page.link/main Trong code gen ra bằng buildDynamicLink() với buildShortDynamicLink()

II. Code

1. Code deep liên kết cơ bản

Thêm ACTION_VIEW: để intent filter hoàn toàn có thể tìm kiếm từ Google Search

Thêm thẻ Thêm thẻ // Để có thể mlàm việc app trường đoản cú trình duyệt// Mở app từ implicit intent, nếu như đúng component name thì tiện ích có thể được msinh hoạt Cùng 1 activity hoàn toàn có thể có không ít intent filter cùng với thẻ không giống nhau

Và nếu viết như trên thì chỉ gồm https://www.example.com cùng app://open.my.tiện ích là có thể dẫn tới app

Nếu viết như sau

... Thì sẽ tạo nên ra 4 URL có thể mang tới phầm mềm.

### Deeplink có nhiều ứng dụng trong thực tế, quan trọng trong vấn đề PR, quảng bá thành 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 có tác dụng, dễ học đề nghị ko nào. Vậy còn do dự gì nữa nhưng ko thử ngay thôi

*


Chuyên mục: Công Nghệ