Di chuyển từ lời mời Firebase sang đường liên kết động bằng tính năng chia sẻ tuỳ chỉnh

Firebase Invites cung cấp cả cơ chế nhận Firebase Dynamic Links trong ứng dụng của bạn, cũng như một tính năng để chia sẻ đường liên kết đó qua SMS hoặc email. Chúng tôi đã phát triển Firebase Invites để giúp bạn tăng số lượng người dùng ứng dụng thông qua hình thức truyền miệng. Tuy nhiên, theo thời gian, chúng tôi nhận thấy bạn đã tìm ra những cách hiệu quả hơn để khuyến khích người dùng chia sẻ ứng dụng yêu thích với bạn bè, ngoài những gì Firebase Invites đang làm hiện nay.

Chúng tôi cũng nhận thấy rằng mặc dù mức sử dụng Firebase Invites đã giảm, nhưng nhiều người trong số các bạn vẫn đang sử dụng Firebase Dynamic Links làm thành phần chính trong giải pháp chia sẻ giữa người dùng với nhau. Vì vậy, chúng tôi đang tăng cường sự tập trung và nỗ lực để biến Firebase Dynamic Links thành cách tốt nhất để tích hợp các chức năng chia sẻ giữa người dùng vào ứng dụng của bạn. Trong quá trình chuyển đổi này, chúng tôi đã ngừng cung cấp tính năng Firebase Invites và sẽ ngừng hỗ trợ kể từ ngày 24 tháng 1 năm 2020.

Điều này có nghĩa là gì và ảnh hưởng đến tôi như thế nào?

Kể từ ngày 24 tháng 1 năm 2020, người dùng sẽ không thể gửi hoặc nhận Firebase Invites nữa và dịch vụ phụ trợ về lời mời sẽ bắt đầu trả về các phản hồi lỗi khi thực hiện các lệnh gọi để gửi và nhận đường liên kết mời. Các SDK hiện tại có tính năng xử lý lỗi để đảm bảo các trường hợp lỗi nhẹ cho những phản hồi của máy chủ này. Nhờ đó, người dùng có thể tiếp tục sử dụng ứng dụng mà không gặp sự cố. Tuy nhiên, bạn không nên dùng Firebase Invites nữa và chuyển sang một giải pháp thay thế bằng cách dùng Firebase Dynamic Links với một giải pháp chia sẻ tuỳ chỉnh.

Sau đây là cách thực hiện!

Trước tiên, hãy Tạo một Dynamic Link mà người dùng có thể chia sẻ với bạn bè. Tin vui là bạn có thể đã quen với bước này vì bước này tương tự như cách bạn thiết lập Firebase Invites. Tuy nhiên, bạn cũng có thể thêm các thông số cụ thể vào Đường liên kết động, chẳng hạn như thêm siêu dữ liệu xã hội vào đường liên kết nếu người dùng chia sẻ ứng dụng của bạn qua một mạng xã hội để tuỳ chỉnh giao diện của URL được chia sẻ.

Xây dựng giải pháp chia sẻ

Tiếp theo, hãy tạo giải pháp chia sẻ để người dùng có thể chia sẻ đường liên kết đó với bạn bè. Những gì bạn muốn tạo ở đây sẽ tuỳ thuộc vào cách bạn muốn cung cấp tính năng chia sẻ sẽ thay thế tính năng trước đó trong Firebase Invites, nhưng đối với hầu hết các ứng dụng di động, bạn có thể tận dụng các tính năng đã được tích hợp vào nền tảng.

Đối với Android, một giải pháp đơn giản bao gồm cả việc chia sẻ qua SMS và email, cũng như các ứng dụng nhắn tin và mạng xã hội phổ biến khác là sử dụng một ý định chung với một bộ hành động được đặt làm Intent.ACTION_SEND. Đây là một cách thuận tiện để chia sẻ dữ liệu từ ứng dụng của bạn với bất kỳ ứng dụng nào mà người dùng đã cài đặt có thể xử lý ý định chia sẻ.

Một đoạn mã tương tự như ví dụ sau đây sẽ hoạt động ở đây (bạn nên sử dụng tài nguyên chuỗi hằng số trong mã của riêng mình):

Intent sendIntent = new Intent();
sendIntent.setAction(Intent.ACTION_SEND);
sendIntent.putExtra(Intent.EXTRA_TEXT, "Here's a new lesson for" +
        " learning more Miwok vocabulary:\n\n" + dynamicLink);
sendIntent.putExtra(Intent.EXTRA_SUBJECT, "Let's Learn Miwok!");
sendIntent.setType("text/plain");
startActivity(Intent.createChooser(sendIntent,
        getResources().getText(R.string.send_to)));

Để xem ví dụ đầy đủ hơn và biết thêm thông tin, hãy xem hướng dẫn này về cách gửi dữ liệu đơn giản đến các ứng dụng khác.

Đoạn mã ở trên sẽ tạo ra một quy trình mời như trong các màn hình bên dưới:

Chia sẻ trên Android

Đối với nhà phát triển iOS, bạn có thể sử dụng UIActivityViewController, truyền đường liên kết được tạo trong quá trình truyền dữ liệu đến VC tuỳ chỉnh. Phương thức này sẽ cung cấp một quy trình chia sẻ tương tự như các màn hình bên dưới:

Chia sẻ trên iOS

Nhận Dynamic Link trong ứng dụng

Cuối cùng, bước cuối cùng để cung cấp tính năng chia sẻ giữa người dùng với nhau cho ứng dụng của bạn sau khi ngừng hoạt động là nhận Dynamic Link trong ứng dụng.

Đối với Android, quy trình này vẫn giữ nguyên nên bạn không cần thay đổi nhiều ở đây. Điểm khác biệt duy nhất là nếu không có Firebase Invites, sẽ không còn mã nhận dạng lời mời nữa. Do đó, bạn cần xoá lệnh gọi để trích xuất mã nhận dạng lời mời thông qua FirebaseAppInvite invite = FirebaseAppInvite.getInvitation(data), nếu ứng dụng của bạn đang thực hiện lệnh gọi đó. Để biết thêm thông tin chi tiết về phần này, vui lòng xem hướng dẫn về Cách nhận Đường liên kết động trong ứng dụng Android.

Đối với iOS, bạn sẽ phải thay đổi từ đối tượng FIRReceivedInvite sang đối tượng FIRDynamicLink. Cả hai đối tượng này đều chứa dữ liệu tương tự. Vui lòng xem hướng dẫn về Cách nhận đường liên kết động trong ứng dụng iOS để biết thêm thông tin chi tiết.

Đối với nhà phát triển Unity, có một số thư viện nguồn mở và các giải pháp tương đương như những giải pháp được mô tả ở trên để di chuyển chức năng chia sẻ giữa người dùng với người dùng. Nếu bạn cần được trợ giúp về việc cung cấp một giải pháp phù hợp, vui lòng liên hệ với các nguồn hỗ trợ được liên kết ở bên dưới.

Firebase Invites là một công cụ tuyệt vời mà chúng tôi rất tự hào khi đã xây dựng được. Trong tương lai, chúng tôi rất mong muốn cải thiện Firebase Dynamic Links để bạn có thể linh hoạt hơn và kiểm soát cách bạn khuyến khích người dùng mời người khác vào ứng dụng của mình. Nếu có bất kỳ câu hỏi nào về cách thiết lập Firebase Dynamic Links và các giải pháp chia sẻ tuỳ chỉnh, vui lòng liên hệ với chúng tôi trên StackOverflow hoặc bất kỳ diễn đàn hỗ trợ bổ sung nào của chúng tôi.