Migracja z zaproszeń Firebase do linków dynamicznych za pomocą udostępniania niestandardowego

Firebase Invites udostępnił mechanizm odbierania Firebase Dynamic Links w aplikacji oraz funkcję udostępniania tego linku przez SMS-a lub e-maila. Usługa Firebase Invites została stworzona, aby pomóc Ci zwiększyć liczbę użytkowników aplikacji dzięki poczcie pantoflowej, ale z czasem okazało się, że znasz lepsze sposoby zachęcania użytkowników do udostępniania swoich ulubionych aplikacji znajomym.

Zauważyliśmy też, że mimo spadku wykorzystania usługi Firebase Invites wielu z Was nadal używało usługi Firebase Dynamic Links jako kluczowego elementu rozwiązania do udostępniania plików między użytkownikami. Dlatego skupiamy się na tym, aby Firebase Dynamic Links stał się najlepszym sposobem na udostępnianie treści przez użytkowników w Twojej aplikacji. W ramach tej zmiany wycofujemy funkcję Firebase Invites i przestaniemy ją obsługiwać od 24 stycznia 2020 r..

Co to oznacza i jakie to ma dla mnie znaczenie?

Od 24 stycznia 2020 r. użytkownicy nie będą już mogli wysyłać ani odbierać żądań Firebase Invites, a usługa backendu zaproszeń zacznie zwracać odpowiedzi o błędzie podczas wywoływania poleceń wysłania lub odebrania linku z zaproszeniem. Obecne pakiety SDK zawierają obsługę błędów, aby zapewnić prawidłowe działanie w przypadku błędów w odpowiedziach serwera. Dzięki temu użytkownicy będą mogli nadal korzystać z aplikacji bez jej zamykania. Zalecamy jednak, aby nie używać funkcjiFirebase Invites, a zamiast tego przejść na alternatywne rozwiązanie korzystające z funkcjiFirebase Dynamic Links i niestandardowego rozwiązania do udostępniania.

Aby to zrobić:

Najpierw utwórz Dynamic Link, który użytkownicy będą mogli udostępniać znajomym. Dobra wiadomość jest taka, że ten krok jest Ci prawdopodobnie już znany, ponieważ jest podobny do konfiguracji Firebase Invites. Możesz też dodać do dynamicznego linku określone parametry, np. dodać metadane społecznościowe do linków, jeśli użytkownicy udostępniają Twoją aplikację w mediach społecznościowych, aby dostosować wygląd udostępnianego adresu URL.

Tworzenie rozwiązania do udostępniania

Następnie utwórz rozwiązanie do udostępniania, aby użytkownicy mogli udostępniać ten link znajomym. To, co chcesz tu zbudować, zależy od tego, jak chcesz udostępnić funkcję udostępniania, która zastąpi poprzednią w Firebase Invites. W większości aplikacji mobilnych możesz jednak korzystać z funkcji już wbudowanych w platformę.

W przypadku Androida jednym z prostych rozwiązań, które obejmuje udostępnianie SMS-ów i e-maili, a także inne popularne aplikacje do obsługi mediów społecznościowych i wiadomości, jest użycie ogólnego zamiaru z akcją ustawioną jako Intent.ACTION_SEND. Dzięki temu możesz wygodnie udostępniać dane z aplikacji dowolnej aplikacji zainstalowanej przez użytkownika, która obsługuje udostępnianie.

W tym przypadku powinno działać coś podobnego do tego przykładu (zalecamy używanie w kodzie stałych ciągów znaków):

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

Pełniejszy przykład i więcej informacji znajdziesz w tym przewodniku dotyczącym wysyłania prostych danych do innych aplikacji.

Powyższy fragment kodu wygeneruje proces zaproszenia podobny do tego, który widać na ekranach poniżej:

Udostępnianie na Androidzie

Deweloperzy iOS mogą użyć UIActivityViewController, przekazując link utworzony jako część danych do niestandardowego VC. Ta metoda umożliwia udostępnianie w sposób podobny do tego, który widać na ekranach poniżej:

Udostępnianie na iOS

Odbierz Dynamic Link w swojej aplikacji

Ostatnim krokiem umożliwiającym udostępnianie treści przez użytkowników w aplikacji po wycofaniu funkcji jest otrzymanie w niej uprawnienia Dynamic Link.

W przypadku Androida ten proces pozostaje taki sam, więc nie musisz wprowadzać tu wielu zmian. Jedyną różnicą jest to, że bez parametru Firebase Invites nie będzie już identyfikatora zaproszenia. W takim przypadku musisz usunąć wywołanie, aby wyodrębnić identyfikator zaproszenia za pomocą parametru FirebaseAppInvite invite = FirebaseAppInvite.getInvitation(data), jeśli Twoja aplikacja wykonuje to wywołanie. Więcej informacji na ten temat znajdziesz w przewodniku na temat otrzymywania dynamicznych linków w aplikacji na Androida.

W przypadku iOS wymagałoby to przejścia z obiektu FIRReceivedInvite na obiekt FIRDynamicLink, ponieważ oba zawierają podobne dane. Więcej informacji znajdziesz w przewodniku Odbieranie dynamicznych linków w aplikacji na iOS.

Deweloperzy Unity mogą skorzystać z wielu bibliotek open source i analogicznych rozwiązań, takich jak te opisane powyżej, aby przenieść funkcję udostępniania między użytkownikami. Jeśli potrzebujesz pomocy w wyborze odpowiedniego rozwiązania, użyj zasobów pomocy dostępnych w linkach poniżej.

Firebase Invites to świetne narzędzie, z którego stworzenia jesteśmy dumni. Wybiegając w przyszłość, z przyjemnością pracujemy nad ulepszeniem Firebase Dynamic Links, aby zapewnić Ci większą elastyczność i kontrolę nad tym, jak zachęcasz użytkowników do zapraszania innych do Twojej aplikacji. Jeśli masz pytania dotyczące konfigurowania usługi Firebase Dynamic Links i niestandardowych rozwiązań do udostępniania, skontaktuj się z nami na stronie StackOverflow lub na dowolnym z naszych dodatkowych forów pomocy.