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ư 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 rằng 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, 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 của giải pháp chia sẻ giữa người dùng với nhau. Vì vậy, chúng tôi sẽ tập trung hơn và nỗ lực hơn để biến Firebase Dynamic Links trở thành cách tốt nhất để tích hợp tính 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 sử dụng tính năng Firebase Invites và sẽ ngừng hỗ trợ tính năng này 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ợ của lời mời sẽ bắt đầu trả về phản hồi lỗi khi thực hiện lệnh gọi để gửi và nhận đường liên kết của lời mời. Các SDK hiện tại bao gồm tính năng xử lý lỗi để đảm bảo các trường hợp lỗi mượt mà cho các 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 sử dụng Firebase Invites nữa mà hãy chuyển sang giải pháp thay thế bằng cách sử dụng Firebase Dynamic Links với 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è của họ. Tin vui là bạn có thể đã quen thuộc với bước này vì nó 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 tham số cụ thể vào Đường liên kết động, chẳng hạn như thêm siêu dữ liệu mạng 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 thông qua 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 xây dựng giải pháp chia sẻ để người dùng có thể chia sẻ đường liên kết đó với bạn bè của họ. Nội dung bạn muốn tạo ở đây sẽ khác nhau 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 ứng dụng di động, bạn có thể tận dụng các tính năng đã tích hợp sẵn vào nền tảng.

Đối với Android, một giải pháp đơn giản bao gồm cả tính năng chia sẻ qua SMS và email, cũng như các ứng dụng mạng xã hội và nhắn tin phổ biến khác, đó là sử dụng ý định chung với một hành động được đặt là Intent.ACTION_SEND. Điều này cung cấp 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 và có thể xử lý ý định chia sẻ.

Bạn có thể sử dụng mã tương tự như ví dụ sau (nên sử dụng tài nguyên chuỗi không đổi trong mã của riêng bạn):

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)));

Để biết ví dụ đầy đủ hơn và thêm thông tin chi tiết, 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 tương tự như trong các màn hình dưới đây:

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 dưới dạng một phầ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 dưới đây:

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 sẽ 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ã lời mời nữa. Vì vậy, bạn cần xoá lệnh gọi để trích xuất mã 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 về phần này, vui lòng xem hướng dẫn về 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 thành đối tượng FIRDynamicLink (cả hai đều chứa dữ liệu tương tự nhau). 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 các nhà phát triển Unity, có một số thư viện nguồn mở và giải pháp tương đương như mô tả ở trên để di chuyển chức năng chia sẻ giữa người dùng với nhau. Nếu bạn cần được hỗ trợ để đưa ra giải pháp phù hợp, vui lòng liên hệ với các tài nguyê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 vui được nỗ lực hơn nữa để cải thiện Firebase Dynamic Links, giúp bạn có thêm nhiều lựa chọn linh hoạt và quyền kiểm soát hơn đối với cách khuyến khích người dùng mời người khác tham gia ứng dụng của bạn. Nếu bạn có thắc mắc 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ệ trên StackOverflow hoặc bất kỳ diễn đàn hỗ trợ bổ sung nào của chúng tôi.