Chuyển đổi người dùng web di động thành người dùng ứng dụng gốc

Điều gì sẽ xảy ra nếu bạn gặp khó khăn trong việc xây dựng một trang web di động tuyệt vời ngoài một ứng dụng gốc đẹp mắt, nhưng nhận thấy tỷ lệ chuyển đổi của bạn trong ứng dụng gốc tốt hơn trên web. Trong trường hợp này, việc chuyển đổi người dùng web di động để tải xuống ứng dụng của bạn có thể giúp doanh nghiệp của bạn phát triển. Mặc dù việc di chuyển chúng từ nơi này sang nơi khác có thể là một thách thức, nhưng Liên kết động làm cho việc này trở nên dễ dàng. Với rất ít mã, bạn có thể thêm khả năng cho người dùng nhấp vào liên kết trên web di động của bạn và được đưa đến trang tương ứng trong ứng dụng của bạn, ngay cả khi họ phải truy cập App Store hoặc Google Play Store để cài đặt nó trước!

Các lợi ích chính

  • Biến người dùng web trên thiết bị di động thành người dùng ứng dụng gốc trong khi giúp họ chuyển đổi thoải mái nhất có thể.
  • Người dùng có thể bắt đầu ứng dụng của bạn với cùng một nội dung mà họ đang xem trên trang web của bạn.
  • Rất ít tích hợp cần thiết.

Đây là cách bắt đầu!

Trước khi bắt đầu

Làm cho nội dung của ứng dụng của bạn có thể liên kết sâu

Chìa khóa để chuyển đổi người dùng web di động thành người dùng ứng dụng gốc là đảm bảo người dùng nhìn thấy cùng một nội dung khi họ mở ứng dụng mà họ thấy trên web. Vì vậy, trước khi bạn có thể bắt đầu gửi người dùng web di động đến ứng dụng của mình, ứng dụng của bạn cần có khả năng nhận được các liên kết sâu đến nội dung.

Nếu bạn đã thực hiện iOS phổ Links hoặc Android App Liên kết , bạn đã có thể đã thực hiện công việc này. Nhưng nếu không, hãy thêm logic vào ứng dụng của bạn để lấy URL từ trang web của bạn và hiển thị nội dung tương ứng trong ứng dụng của bạn cho người dùng.

Thiết lập dự án Firebase mới và cài đặt SDK liên kết động vào ứng dụng của bạn. ( IOS , Android , C ++ , Unity ). Việc cài đặt SDK liên kết động cho phép Firebase truyền dữ liệu về Liên kết động sau khi người dùng cài đặt ứng dụng. Nếu không có SDK, không có cách nào để kết nối người dùng sau cài đặt với một lần nhấp cài đặt trước.

Bây giờ đã đến lúc thiết lập các liên kết sẽ chuyển mọi người từ trang web của bạn sang ứng dụng gốc của bạn. Đừng lo lắng nếu người dùng của bạn chưa cài đặt ứng dụng; Liên kết động có thể giải quyết vấn đề đó cho bạn.

Trên mỗi trang của trang web của bạn, tự động tạo một liên kết động . Kể từ khi bạn đã thực hiện nội dung của bạn sâu thể liên kết, các link tham số chỉ có thể là URL của trang đó vào.

Đây là những gì một liên kết như vậy có thể trông như thế:

<a href="https://example.page.link/?link=https://www.example.com/content?item%3D1234&apn=com.example.android&ibi=com.example.ios">Open this page in our app!</a>

Khi người dùng mở liên kết này trên thiết bị của họ, nếu ứng dụng theo quy định của apn tham số (trên Android) hoặc ibi tham số (trên iOS) không được cài đặt, người dùng được đưa đến Cửa hàng Play hoặc App Store để cài đặt ứng dụng. Sau đó, ứng dụng sẽ mở ra, và URL được chỉ định trong các link tham số được truyền cho nó.

Mở nội dung được liên kết trong ứng dụng của bạn

Tiếp theo, bạn cần nhận liên kết được chuyển đến ứng dụng của mình và mở nội dung được liên kết, điều này thật dễ dàng bằng cách sử dụng SDK liên kết động:

iOS

Trên iOS, bạn nhận được liên kết động bằng cách thực hiện các application:continueUserActivity:restorationHandler: phương pháp. Trong xử lý phục hồi, bạn có thể nhận được liên kết động bằng cách gọi handleUniversalLink:completion: . Nếu một liên kết động đã được thông qua để ứng dụng của bạn, bạn có thể lấy nó từ url tài sản của FIRDynamicLink . Ví dụ:

Objective-C

Lưu ý: sản phẩm căn cứ hỏa lực này không có sẵn trên hệ điều hành MacOS, Mac Catalyst, tvOS, hoặc mục tiêu watchos.
[[FIRDynamicLinks dynamicLinks]
    handleUniversalLink:userActivity.webpageURL
             completion:^(FIRDynamicLink * _Nullable dynamicLink,
                          NSError * _Nullable error) {
      NSString *link = dynamicLink.url;
    }];

Nhanh

Lưu ý: sản phẩm căn cứ hỏa lực này không có sẵn trên hệ điều hành MacOS, Mac Catalyst, tvOS, hoặc mục tiêu watchos.
FIRDynamicLinks.dynamicLinks()?.handleUniversalLink(userActivity.webpageURL!) { (dynamiclink, error) in
    let link = dynamiclink.url
}

Ngoài ra, bạn phải gọi dynamicLinkFromCustomSchemeURL: trong application:openURL:options: phương pháp để nhận động Liên kết truyền cho ứng dụng của bạn như URL chương trình tùy chỉnh. Ví dụ:

Objective-C

Lưu ý: sản phẩm căn cứ hỏa lực này không có sẵn trên hệ điều hành MacOS, Mac Catalyst, tvOS, hoặc mục tiêu watchos.
FIRDynamicLink *dynamicLink = [[FIRDynamicLinks dynamicLinks] dynamicLinkFromCustomSchemeURL:url];
if (dynamicLink) {
  NSString *link = dynamicLink.url;
  // ...
  return YES;
}

Nhanh

Lưu ý: sản phẩm căn cứ hỏa lực này không có sẵn trên hệ điều hành MacOS, Mac Catalyst, tvOS, hoặc mục tiêu watchos.
let dynamicLink = FIRDynamicLinks.dynamicLinks()?.dynamicLinkFromCustomSchemeURL(url)
if let dynamicLink = dynamicLink {
  let link = dynamiclink.url
  // ...
  return true
}

Bây giờ bạn có giá trị của các link tham số, hiển thị các nội dung liên quan đến người dùng của bạn.

Android

Trên Android, bạn sử dụng getDynamicLink() phương pháp để lấy dữ liệu từ các liên kết động:

Java

FirebaseDynamicLinks.getInstance()
        .getDynamicLink(getIntent())
        .addOnCompleteListener(new OnCompleteListener<PendingDynamicLinkData>() {
            @Override
            public void onComplete(@NonNull Task<PendingDynamicLinkData> task) {
                if (!task.isSuccessful()) {
                    // Handle error
                    // ...
                }

                FirebaseAppInvite invite = FirebaseAppInvite.getInvitation(task.getResult());
                if (invite != null) {
                    // Handle invite
                    // ...
                }
            }
        });

Kotlin + KTX

Firebase.dynamicLinks
        .getDynamicLink(intent)
        .addOnCompleteListener { task ->
            if (!task.isSuccessful) {
                // Handle error
                // ...
            }

            val invite = FirebaseAppInvite.getInvitation(task.result)
            if (invite != null) {
                // Handle invite
                // ...
            }
        }

Bây giờ bạn có giá trị của các link tham số, hiển thị các nội dung liên quan đến người dùng của bạn.