Home Technical

Deep Linking

116

Deep Linking – Liên kết sâu: Khi bạn tạo một backlink đến một trang bên trong của một trang web/Mobile App (bất kỳ trang nào đó không phải là trang chủ).

Deep linking sẽ nâng cao user engagement và đơn giản quy trình ra mắt ứng dụng, giúp bạn theo dõi lời giới thiệu (referrals), xem thử chiến dịch nào hiệu quả nhất, cũng như nhận diện những cách thức để app trở nên hữu dụng hơn và người dùng có thể tiếp cận tốt hơn.

Deep linking là gì?

Một deep link là 1 URL mở, hướng user đến 1 nơi cụ thể nào đó trong ứng dụng. Khi 1 lập trình viên tạo ra 1 app, anh ta có thể đăng kí 1 URL scheme với iOS. Ví dụ, trong ứng dụng Agenda, chúng tôi đã đăng kí URL scheme là “agenda”, vì thế bất kì URL nào bắt đầu với agenda:.. sẽ deep link đến ứng dụng của chúng tôi. Trong trường hợp này, khi iOS cố gắng mở 1 URL với scheme tùy chỉnh, nó sẽ xem xét tất cả các ứng dụng được cài trên thiết bị để xem liệu có app nào đã cài đặt từng đăng kí URL scheme đó chưa. Nếu thấy phù hợp, nó sẽ khởi động và chuyển sang URL được sử dụng để mở ứng dụng. Ví dụ, khi mở Safari và gõ twitter:// vào trong khung search/địa chỉ và nhấn Go: nếu Twitter được cài đặt trong điện thoại của bạn, app sẽ khởi động, trái lại Safari sẽ cố gắng tải địa chỉ đó.

Deep links còn thao tác được với 1 vài thông tin có trong URL đó. Ví dụ, URL sau sẽ mở trang profile trong app Facebook của bạn: fb://profile/133913376661217

Tại sao phải sử dụng deep linking?

Deep linking có khả năng lôi kéo engagement nên đóng vai trò rất quan trọng. Deep links có thể hướng người dùng đến các views đặc biệt trong app của bạn hoặc các ứng dụng khác. Ví như không có deep linking app Facebook giúp người dùng vào thẳng trang fanpage của công ty bạn chỉ bằng 1 single action thì bạn sẽ phải thực hiện 1 trong 2 bước sau. Đầu tiên là hiển thị 1 button cho users để họ nhấn vào đó và khởi động Safari hoặc UIWebView trong ứng dụng. Khi users đã vào trang fanpage, họ cần phải xác thực với Facebook nếu chưa đăng nhập. Cách thức 2 là yêu cầu người dùng thoát ứng dụng, mở app Facebook và tìm tên fanpage của doanh nghiệp bạn.

Bạn cũng có thể thu hút người dùng mới đến ứng dụng nhờ deep linking. Thay vì mong người dùng tiềm năng di chuyển từ 1 trình duyệt đến app store và thực hiện hành vi tìm kiếm, bạn có thể dùng deep link để hướng họ vào 1 màn hình chuyên biệt trong app. Tính năng này hỗ trợ kiểm soát quy trình marketing và onboarding (khi lần đầu sử dụng app) như: gửi thư mời cá nhân với 1 số thông tin đăng kí. Thêm nữa, deep linking còn cung cấp chi tiết về cách người dùng mở và cài đặt app qua ads đã deep link, nội dung chia sẻ từ user-đến-user qua SMS, email hoặc mạng xã hội hoặc qua những giới thiệu in-app.

Deferred deep linking: khi deep linking không đáp ứng được nữa

Deep linking là 1 công cụ mạnh mẽ khi ứng dụng đã tồn tại trên thiết bị. Nhưng điều gì sẽ xảy ra nếu 1 người dùng chưa cài đặt ứng dụng?

Với Agenda của chúng tôi, nếu user cố gắng mở 1 deep link với URL của agenda:// và người dùng chưa cài đặt ứng dụng, iOS sẽ thử mở 1 URL dùng Safari vì iOS không thể tìm thấy app. Lúc này, Safari sẽ hiển thị 1 khung hình, thông báo người dùng rằng Safari không thể mở được trang theo yêu cầu. Đây chắc chắn là trường hợp bạn không muốn gặp phải.

Đây là lúc hình thức deep linking chuyên sâu hơn – gọi là deferred deep linking xuất hiện. Thay vì chỉ mở 1 URL như agenda://, chúng ta có thể gửi người dùng 1 URL khác, cố gắng mở ứng dụng trên thiết bị của users lần thứ nhất và nếu không hoạt động, sẽ hướng users đến App Store để cài đặt. Khi người dùng tải và mở Agenda lần đầu tiên, chúng tôi lại gặp vấn đề khác, đó là theo mặc định, Agenda sẽ không biết là nó được mở bằng 1 deep link. Vấn đề này phát sinh từ thực tế App Store không chuyển referral link (link giới thiệu) mà người dùng đã dùng để vào App Store đến ứng dụng đã được cài đặt. May thay, có rất nhiều nhà cung cấp dịch vụ deep link hỗ trợ giải quyết vấn đề này. Bạn cần phải thêm vào vài dòng code nhỏ trong ứng dụng iOS của mình để liên hệ với đơn vị cung cấp deep link và lấy deferred deep link đã được dùng để cài app. Bây giờ, bạn đa có gửi đến người dùng những deep link an toàn.

Chọn 1 deep linking service

Khi redesign quy trình onboarding trong ứng dụng FamilySignal, chúng tôi đã nghiên cứu những dịch vụ cung cấp deep linking. Rất nhiều dịch vụ cho phép tạo 1 link qua giao diện web và gán cho các parameters để các parameters này có thể chuyển vào trong ứng dụng được mở qua deep link URL.

Chúng tôi quyết định sử Branch.io vì nó dễ cài đặt, có bộ tài liệu toàn diện và không yêu cầu người dùng đăng nhập vào bất kì dịch vụ bên thứ 3 nào khác. Branch.io hoạt động tốt với các cài đặt cho app mới và app đang có sẵn. Đây là platform chéo, hỗ trợ Android, iOS và nhiều platform khác.

Một dịch vụ khác cần lưu ý là Deeplink, hoạt động tương tự như Branch,io, cũng hỗ trợ cả iOS và Android. Ngoài ra, các quy tắc translation cũng hỗ trợ tích hợp các thay đổi qua nhiều phiên bản apps và APIs khác nhau. Khi ứng dụng phát triển dần lên và thay đổi thì quy tắc translation sẽ ngăn những thay đổi này không break các cài đặt hiện thời hoặc cài đặt mới. Tuy nhiên, nguồn tài liệu của Deeplink lại hạn chế và đội ngũ chăm sóc khách hàng không tương tác tốt. Deeplink sử dụng mô hình giá pay-per-click.

 

App Indexing và Universal Links

App Indexing của Google cho phép ứng dụng Android hoăc iOS xuất hiện trong kết quả tìm kiếm của Google. Khi ai đó thấy ứng dụng của bạn được cài đặt và tìm kiếm trên Google, App Indexing sẽ hiển thị ứng dụng trong những kết quả tìm kiếm tương đương. Sau đó, nó sẽ deep link trở lại nội dung có liên quan.

Với iOS 9, Apple đã giới thiệu Universal links như 1 cách mới để dùng các deep links với ứng dụng. Universal links khác với deep links đã đề cập ở trên ở điểm nó không yêu cầu lập trình viên đăng kí URL scheme tùy chỉnh khi tạo 1 ứng dụng. Thay vào đó, universal links sẽ dùng URL hiện tại dẫn đến homepage app của bạn. Team lập trình cần thực hiện vài thao tác cấu hình trên web-server để ứng dụng iOS có thể xác thực là nó đang trao đổi với website của bạn. Thao tác này không quá khó và một khi đã hoàn thành, sẽ đem đến cho người dùng app cách thức khởi động và tương tác với ứng dụng đơn giản hơn, linh hoạt hơn, an toàn hơn.

Ngoài ra, cấu hình các universal links còn giúp app gia nhập tìm kiếm Spotlight.

Kết luận

Deep linking là 1 công cụ quan trong đối với các những người làm ứng dụng nhằm giữ được user engagement, cải tiến quy trình onboarding, quyết định chiến lược nào sẽ thu hút user hoặc đơn giản là biến ứng dụng trở nên hữu ích hơn.

SHARE