Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. Firebase
Code

Firebase для Android: уведомления и инвайты

by
Difficulty:IntermediateLength:MediumLanguages:

Russian (Pусский) translation by Masha Kolesnikova (you can also view the original English article)

В то время как создание приятного пользовательского опыта невероятно важно, привлечение новых и существующих пользователей еще более важно для долгосрочного успеха вашего приложения. В этом уроке вы узнаете, как использовать Firebase для включения облачных сообщений Google и отправки уведомлений в ваше приложение, а также как разрешить пользователям делиться своим приложением с их контактами, использующими устройства Android или iOS.

В этом учебнике предполагается, что вы уже создали проект для Firebase и имеете доступ к Firebase Console. Чтобы узнать, как начать работу с Firebase для Android, ознакомьтесь с одной из наших статей:

Firebase Notifications

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

Уведомления, когда ваше приложение находится в фоновом режиме

Отображение уведомлений, когда ваше приложение находится в фоновом режиме, невероятно просто, поскольку оно автоматически обрабатывается библиотекой сообщений Firebase. В вашем приложении вам нужно будет включить библиотеку со следующей строкой в node dependencies вашего файла build.gradle и затем установить приложение на устройство.

Затем вам нужно зайти в консоль Firebase и выбрать раздел «Notifications» на левой панели меню.

Navigating to Notifications in Firebase

После того, как вы зайдете в нужный раздел, вы увидите экран, предлагающий отправить ваше первое сообщение.

Prompt before sending your first Firebase notification

Как только вы нажмете на синюю кнопку, вы попадете в форму, которая позволит вам добавлять контент в сообщения и выбирать, какие группы пользователей должны получать сообщение. Используя эту форму, вы можете указать логические условия, которые должны удовлетворить устройство или пользователь, например, географическое местоположение или любые другие собранные данные, чтобы получить ваше уведомление.

Backgrounded app notification

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

Уведомления в Foreground

Одно замечание - уведомления не будут отображаться для пользователя, если они уже находятся в вашем приложении. Чтобы получать уведомления в этой ситуации, вам нужно будет внедрить Service, который расширяет FirebaseMessagingService.

Вам также потребуется включить этот Service в ваш файл AndroidManifest.xml.

Теперь, когда у вас есть общая структура, пришло время реализовать функцию onMessageReceived в вашем классе FirebaseMessagingService. Основная цель этого метода - передать данные, отправленные с помощью объекта RemoteMessage, и создать Notification, основанное на том, что вы получаете.

Существует много разной информации, которую можно передать с помощью RemoteMessage. Однако большинство опций доступны только в том случае, если вы используете API-интерфейс Firebase, а не консоль. С консоли Firebase вы можете установить заголовок, тело сообщения и собственные пары ключ/значение.

Регистрация всех доступных данных из RemoteMessage может быть выполнена следующим образом:

Что, в свою очередь, приведет к следующим логам.

Как только вы узнаете, какая информация доступна, и как вы хотите ее обрабатывать, вы можете создавать и отображать уведомление для своих пользователей.

Вот и все! Теперь вы можете настроить приложение Android для отправки и получения уведомлений с консоли Firebase.

Notification for foregrounded apps

Инвайты

Получение новых пользователей в вашем приложении может быть сложной задачей, но из уст в уста  - это отличный способ привлечь новых пользователей. Используя Firebase, вы можете добавить виджет App Invites в свое приложение, который позволит вашим пользователям совместно использовать ваше приложение по электронной почте или SMS другим пользователям Android или iOS.

Запуск инвайта

Прежде чем вы сможете начать использовать эту функцию, вам нужно будет импортировать пакет в свой проект, добавив следующую строку в node dependencies вашего файла build.gradle.

После того, как вы синхронизировали свой проект, вы сможете создать новый Intent, используя класс AppInviteInvitation.IntentBuilder, который запустит экран, который позволяет пользователям выбирать контакты для приглашения в приложение. Этот конструктор предоставляет различные параметры настройки экрана приглашения:

  • setMessage: установит сообщение, которое пользователи  увидят и смогут отправлять контактам по текстовому сообщению или электронной почте. Оно может быть не более 100 символов.
  • setCustomImage: Используя этот метод, вы можете предоставить URI собственного изображения, которое появится на экране приглашения и электронного письма.
  • setCallToActionText: этот метод устанавливает текст для кнопки установки в письмах. Его ограничение составляет 32 символа.
  • setDeepLink: Позволяет предоставить метаданные для вашего приглашения, которые могут быть получены при установке для принятия конкретных действий для вашего нового приглашенного пользователя.
  • setEmailHtmlContent: Позволяет переопределить setMessage, setCustomImage и setCallToActionText для создания настраиваемого электронного письма в формате HTML для отправки потенциальным новым пользователям.
  • setEmailSubject: требуется, если используется setEmailHtmlContent. Как следует из названия, это задает тему для вашего кастомного электронного письма.
  • setOtherPlatformsTargetApplication: один из наиболее интересных вариантов, этот метод позволит вам связать идентификатор клиентского приложения Firebase для версии вашего приложения iOS, позволяя пользователям iOS устанавливать правильную версию, если она доступна пользователю Android.

После того, как вы создали свой Intent, вы можете запустить его с помощью startActivityForResult, чтобы получать уведомления, когда пользователь вернулся из приглашения.

Contact picker for app invites

Прием приглашений

Теперь, когда вы можете приглашать других пользователей в ваше приложение, давайте немного сосредоточимся на дип-линках. Когда вы создаете свой Intent, вы можете добавить URI в качестве дип-линка. Когда пользователь получает ваше приглашение на Android, вы можете использовать сервисы Google Play и API AppInvite для перехвата этого URI и выполнения кастомных действий, таких как представление экрана приветствия для вашего нового пользователя.

Вы заметите, что мы создали boolean с именем autodeeplink. Если для этого параметра установлено значение true, система Android автоматически обработает полученный URI через фильтры в вашем файле AndroidManifest.xml. Если для него установлено значение false, вы можете использовать API AppInvite для извлечения информации из приглашения и выполнения кастомных действий.

Вывод

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

Чтобы узнать больше о разработке Firebase или Android в целом, ознакомьтесь с некоторыми нашими другими курсами и учебниками здесь, в Envato Tuts +.

Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.