Deeplink đến Dynamic link trong Android - Những điều cần biết

Đã 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 web

Nế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 app

Sau 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ày

1.

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ển

b. 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

*

Chia sẻ nội dung của ứng dụng dễ dàng rộng, bên trên bất kỳ nền tảng làm sao, xuất xắc sẽ sử dụng tiện ích giỏi chưa

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

*

Trong code

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 Search

Thê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

*

Bài viết liên quan

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *