Deep link FAQ
Có nhiều yếu tố có thể ảnh hưởng đến hoạt động của deep link. Nếu deep link mang đến kết quả không mong muốn, dù là trong quá trình thử nghiệm (testing) hay triển khai thực tế (production), vui lòng tham khảo hướng dẫn sau để khắc phục lỗi. Nếu lỗi vẫn tiếp tục xảy ra, vui lòng liên hệ với support@adjust.com.
Vấn đề thường gặp
Cú pháp và mã hóa URL có chính xác không?
Nếu deep link không đưa bạn đến một trang nhất định hoặc trả về lỗi HTTP 404, trước tiên hãy kiểm tra mã hóa và cú pháp URL.
URL thường sử dụng cú pháp: scheme://host:port/path?query-string#fragment-id
Mỗi thành phần của URL thực hiện một chức năng khác nhau và dùng các ký tự nhất định để xác định và phân tách giá trị. Scheme và host không phân biệt chữ hoa chữ thường, nhưng đường dẫn và chuỗi truy vấn thì có. Sai sót trong thành phần của URL sẽ làm xuất hiện lỗi không mở được URL.
Khi cài đặt deep link, hãy chú ý đến các điều kiện sau:
- Nếu bạn muốn thêm tham số Adjust vào chuỗi truy vấn URL đã chứa sẵn tham số truy vấn, sử dụng dấu
&
. Nếu bạn không sử dụng, thì bất kỳ thông tin nào xuất hiện sau dấu?
thứ hai của URL sẽ bị trình duyệt bỏ qua (drop).- URL đúng:
https://abcd.adj.st/my?path=location&client=name&adjust_t=klm012
- URL sai:
https://z9pm.adj.st/my?path=location&client=name?adjust_t=klm012
- URL đúng:
- Nếu chuỗi truy vấn đã được mã hóa, bắt đầu chuỗi bằng dấu
/
hoặc đảm bảo chuỗi nằm trong tham sốdeeplink
.
Nếu ứng dụng chưa được cài đặt và các điều kiện trên không được đáp ứng, thì tham số adjust_t
sẽ bị trình duyệt bỏ qua. Adjust cần tham số này để xác định nguồn của lượt click; nếu không có tham số, chúng tôi sẽ trả về lỗi HTTP 404 là URL not found
.
Ví dụ
Tùy vào cài đặt URL của bạn, deep link có thể hoạt động theo các cách sau:
Cài đặt deep link | Ví dụ link URL | Hoạt động |
---|---|---|
Link URL + tham số deep_link | https://app.adjust.com/r40ncx7?deep_link=adjust%3A%2F%2F%3Fpath | Mở ứng dụng và dẫn đến một trang cụ thể trong ứng dụng |
Universal link | https://abcd.adj.st/%3Fpath?adjust_t=r40ncx7 | Mở ứng dụng và dẫn đến một trang cụ thể trong ứng dụng |
Universal link | https://abcd.adj.st/?path&adjust_t=r40ncx7 | Mở ứng dụng nếu ứng dụng đã được cài, nhưng không dẫn đến một trang cụ thể trong ứng dụng. |
Universal link | https://abcd.adj.st%3Fpath?adjust_t=r40ncx7 | Không hợp lệ và trả về thông báo lỗi |
Tại sao tôi không xem được dữ liệu phân bổ (attribution data) và/hoặc dữ liệu cấp chiến dịch (campaign-level data)?
Nếu bạn không tìm thấy dữ liệu phân bổ hay dữ liệu cấp chiến dịch trên deep link URL, thì có thể là do lỗi cài đặt. Vui lòng kiểm tra xem có lỗi mã hóa xảy ra với fallback hay callback hay không, vì lỗi này làm tham số device ID và tham số chiến dịch (nếu có) bị cắt ngắn bớt. Ví dụ lỗi mã hóa: URL không có khoảng trắng hay tồn tại ký tự không hợp lệ.
Tại sao link chuyển hướng đến store dù ứng dụng đã được cài đặt?
Lỗi này xảy ra khi deep link không thể mở được ứng dụng, nên lệnh fallback chuyển hướng đến store đã được chạy. Vui lòng thực hiện các bước sau để kiểm tra vấn đề này:
Thực hiện theo hướng dẫn kiểm tra, đóng vai là người dùng hiện tại, sử dụng universal link và liên kết chứa tham số deep_link.
Nếu kiểm tra thành công và bạn mở được ứng dụng, thì vui lòng kiểm tra, thời điểm deep link bị lỗi, link được click vào từ môi trường nào. Sau đó kiểm tra liệu bạn có cần phải bổ sung tham số hay không.
- Ví dụ: nếu một JSR universal link được click vào từ Slack, thì flag
adjust_deeplink_js=1
nên xuất hiện. Việc này giúp nạp scheme trước khi chuyển hướng người dùng đến store. Nếu link không hoạt động ngay cả khi có flagadjust_deeplink_js
, thì rất có thể App Scheme đã bị nhập sai trên Campaign Lab.
- Ví dụ: nếu một JSR universal link được click vào từ Slack, thì flag
Đảm bảo không có lỗi mã hóa xảy ra với fallback hay callback trên link URL. Vấn đề trên sẽ khiến tham số bị trình duyệt bỏ qua. Khi tham số bị bỏ qua, liên kết sẽ không hoạt động như dự kiến.
Tại sao deep link không mở đúng trang trong ứng dụng?
Nếu link không chuyển hướng đến đúng trang nhưng vẫn mở được ứng dụng, vui lòng kiểm tra liệu lỗi đến từ đường link hay phần cài đặt ứng dụng.
- Đưa (host) tên miền universal link (
https://abcd.adj.st/
) hoặc scheme (myapp://
) lên một môi trường web và click vào link từ môi trường đó. - Vui lòng trao đổi với bộ phận phát triển để đảm bảo đường dẫn trong ứng dụng được thiết lập chính xác.
Adjust ghi nhận dữ liệu lượt click nếu deep link đó có chứa liên kết hoặc tham số của Adjust. Còn nếu đó là direct deep link và chứa tên miền ứng dụng, thì Adjust sẽ không nhận được dữ liệu.
Gửi dữ liệu về lượt click
myapp://welcome?adjust_t=abc123&adjust_campaign=re-engage_my_users&adjust_adgroup=apac&adjust_creative=promo1
https://z9pm.adj.st/welcome?adjust_t=abc123&adjust_campaign=re-engage_my_users&adjust_adgroup=apac&adjust_creative=promo1
Không gửi dữ liệu về lượt click:
myapp://welcome
Nếu ứng dụng đã được cài đặt và ghi nhận deep link reattribution, và bạn muốn lấy dữ liệu lượt click của ứng dụng này, vui lòng triển khai SDK click trong Adjust SDK (iOS; Android).
Nếu deep link kích hoạt một SDK click, thì sẽ được ghi nhận dưới dạng lượt click trên Datascape. Deep link này cũng được ghi nhận trong dữ liệu thô qua click
callback. Để biết lượt click nào đến từ deep link SDK click, thêm tham số {is_deeplink_click}
.
Khắc phục lỗi liên quan đến deep link chứa liên kết + tham số deep_link
Tại sao deep link không hoạt động trên bài đăng Facebook?
Nếu sử dụng bài đăng Facebook để truyền thông, thì chiến dịch cần sử dụng một Adjust link URL và thêm tham số deeplink
. Bạn cũng phải gán đường dẫn cho tham số deeplink
; nếu không người dùng sẽ được chuyển hướng đến app store (dù họ đã cài ứng dụng). Đường dẫn không nhất thiết phải hợp lệ.
Ví dụ tham số có kèm đường dẫn: https://app.adjust.com/abc123?deeplink=adjust%3A%2F%2Fsuch_path
Khắc phục lỗi liên quan đến deferred deep link
Tại sao deferred deep link không mở đúng trang sau khi ứng dụng đã được cài đặt?
Nếu deferred deep link không chuyển hướng bạn đến đúng trang sau khi ứng dụng đã được cài đặt, trước tiên hãy kiểm tra xem đường dẫn này có thực sự tồn tại hay không. Đưa (host) scheme (myapp://
) lên một môi trường web và click vào link từ môi trường đó, nhằm xác định vấn đề xuất phát từ link hay cài đặt ứng dụng. Vui lòng trao đổi với bộ phận phát triển để đảm bảo đường dẫn trong ứng dụng được thiết lập chính xác.
Nếu bạn được đưa đến đúng trang trong ứng dụng, nhưng với danh nghĩa là người dùng hiện hữu, không phải người dùng mới, hãy kiểm tra thiết bị qua Testing Console và đảm bảo rằng bạn đã được phân bổ cho lượt click. Nếu không, hãy xóa dữ liệu thiết bị bằng Testing Console và thử lại lần nữa.
Nếu bạn đã được phân bổ, kiểm tra xem thiết bị có chứa tham số deeplink
hay không. Nếu thiết bị không chứa tham số, kiểm tra xem có lỗi mã hóa hay ký tự đặc biệt nào đang cắt ngắn bớt phần URL trước tham số deeplink
hay không.
Cuối cùng, nếu tham số deeplink
đã được thêm vào, hãy đảm bảo đường dẫn được hiển thị như bạn dự kiến. Nếu đường dẫn không được hiển thị, có thể đường dẫn đã bị cắt ngắn vì một vài lý do. Vui lòng liên hệ với support@adjust.com để được hỗ trợ.
Tại sao deferred deep link không hoạt động dù thiết bị đã được xóa dữ liệu?
Đôi khi, trong quá trình thử nghiệm, deferred deep link vẫn tồn tại trong một khoảng thời gian sau khi xảy ra lượt click - ngay cả khi bạn đã xóa dữ liệu thiết bị bằng Testing Console.
Nếu trường hợp trên xảy ra, thì có thể thử nghiệm của bạn đã diễn ra như sau:
- Bạn click vào deep link, cài đặt ứng dụng, và mở ứng dụng.
- Bạn gỡ ứng dụng.
- Bạn xóa dữ liệu thiết bị bằng Testing Console.
- Bạn chạy một thử nghiệm khác (click, cài đặt, mở) và deferred deep link không hoạt động.
Trong trường hợp này, hãy gỡ ứng dụng lần nữa, xóa dữ liệu thiết bị bằng Testing Console, và chạy lại thử nghiệm. Lúc này, deferred deep link sẽ hoạt động lại như bình thường.