Переход с приглашений Firebase на динамические ссылки с настраиваемым общим доступом

Firebase Invites предоставляет как механизм получения Firebase Dynamic Links в вашем приложении, так и возможность поделиться этой ссылкой по SMS или электронной почте. Мы разработали Firebase Invites , чтобы помочь вам увеличить аудиторию вашего приложения с помощью «сарафанного радио», но со временем мы узнали, что вы нашли более эффективные способы мотивировать пользователей делиться любимыми приложениями с друзьями, чем те, что Firebase Invites делает сегодня.

Мы также заметили, что, несмотря на снижение использования Firebase Invites , многие из вас по-прежнему используют Firebase Dynamic Links в качестве ключевого компонента решения для обмена данными между пользователями. Поэтому мы уделяем больше внимания и прилагаем больше усилий, чтобы сделать Firebase Dynamic Links лучшим способом внедрения возможностей обмена данными между пользователями в ваше приложение. В рамках этого изменения мы прекратили поддержку функции Firebase Invites и прекратим её поддержку с 24 января 2020 года .

Что это значит и как это на меня повлияет?

С 24 января 2020 года ваши пользователи больше не смогут отправлять и получать Firebase Invites , а бэкэнд-служба приглашений начнет возвращать ошибки при вызовах для отправки и получения ссылки-приглашения. Текущие SDK включают обработку ошибок, чтобы обеспечить корректную обработку сбоев в ответах сервера, поэтому ваши пользователи смогут продолжать использовать ваше приложение без сбоев. Однако мы рекомендуем вам больше не использовать Firebase Invites и перейти на альтернативное решение с использованием Firebase Dynamic Links и настраиваемого решения для общего доступа.

Вот как это сделать!

Сначала создайте Dynamic Link , которой ваши пользователи смогут делиться со своими друзьями. Хорошая новость в том, что вы, вероятно, уже знакомы с этим шагом, поскольку он похож на настройку Firebase Invites . Но вы также можете добавить к своей динамической ссылке особые параметры, например, социальные метаданные, если пользователи делятся вашим приложением в социальной сети, чтобы настроить внешний вид URL-адреса, которым делятся.

Создайте решение для совместного использования

Затем создайте решение для обмена, чтобы ваши пользователи могли делиться этой ссылкой со своими друзьями. То, что вы захотите реализовать, будет зависеть от того, как вы хотите реализовать функцию обмена, которая заменит предыдущую в Firebase Invites , но для большинства мобильных приложений вы можете воспользоваться функциями, уже встроенными в платформу.

Для Android простым решением, охватывающим как обмен данными по SMS и электронной почте, так и другие популярные социальные сети и приложения для обмена сообщениями, является использование общего намерения с действием Intent.ACTION_SEND . Это обеспечивает удобный способ поделиться данными из вашего приложения с любым установленным пользователем приложением, поддерживающим намерение поделиться.

Здесь должно сработать что-то похожее на следующий пример (рекомендуется использовать константные строковые ресурсы в вашем собственном коде):

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

Более полный пример и подробности см. в этом руководстве по отправке простых данных в другие приложения .

Приведенный выше фрагмент кода сгенерирует нечто похожее на поток приглашений, показанный на снимках экрана ниже:

Поделиться на Android

Разработчики iOS могут использовать UIActivityViewController , передавая ссылку, созданную как часть данных, в пользовательский виртуальный портал. Этот метод обеспечит поток обмена, аналогичный представленному ниже:

Поделиться на iOS

Получите Dynamic Link в своем приложении

Наконец, последний шаг на пути к обеспечению обмена данными между пользователями вашего приложения после его закрытия — это получение Dynamic Link в вашем приложении.

Для Android этот процесс остаётся тем же, поэтому вам не придётся вносить здесь существенных изменений. Единственное отличие заключается в том, что без Firebase Invites идентификатор приглашения исчезнет, и вам придётся удалить вызов для извлечения идентификатора приглашения через FirebaseAppInvite invite = FirebaseAppInvite.getInvitation(data) , если ваше приложение выполняет такой вызов. Подробнее об этом см. в руководстве по получению динамических ссылок в вашем приложении для Android .

Для iOS это потребует замены объекта FIRReceivedInvite на объект FIRDynamicLink , которые содержат схожие данные. Подробнее см. в руководстве по получению динамических ссылок в приложении iOS .

Для разработчиков Unity существует ряд библиотек с открытым исходным кодом и аналогичных решений, описанных выше, для переноса функций обмена данными между пользователями. Если вам нужна помощь в поиске подходящего решения, обратитесь к ресурсам поддержки, ссылки на которые приведены ниже.

Firebase Invites — отличный инструмент, которым мы гордимся. Заглядывая в будущее, мы с нетерпением ждем возможности сделать Firebase Dynamic Links ещё лучше, чтобы у вас было больше гибкости и контроля над тем, как побуждать пользователей приглашать других пользователей в ваше приложение. Если у вас есть вопросы по настройке Firebase Dynamic Links и индивидуальных решений для обмена информацией, обратитесь на StackOverflow или любой из наших дополнительных форумов поддержки .