Firebase android что это такое

Firebase

На конференции Google I/O 2015 была представлена облачная база данных на основе NoSQL с горящим названием Firebase. Год спустя в мае 2016 на этой же конференции было объявлено о революционном изменении.

Гугл показал новые возможности — теперь это уже целая платформа для построения Android-, iOS- и мобильных веб-приложений, а не просто база данных в облаке.

База данных позволяет работать с данными, которые хранятся как JSON, синхронизируются в реальном времени и доступны при отсутствии интернета.

Firebase поддерживает аутентификацию по связке электропочта+пароль, Facebook, Twitter, GitHub, Google и другие аутентификационные системы.

Кроме базы данных Firebase предлагает хостинг статичных файлов для веб-сайта.

Можно ставить отдельные зависимости в Gradle.

com.google.firebase:firebase-core:9.6.0 Analytics
com.google.firebase:firebase-database:9.6.0 Realtime Database
com.google.firebase:firebase-storage:9.6.0 Storage
com.google.firebase:firebase-crash:9.6.0 Crash Reporting
com.google.firebase:firebase-auth:9.6.0 Authentication
com.google.firebase:firebase-messaging:9.6.0 Cloud Messaging and Notifications
com.google.firebase:firebase-config:9.6.0 Remote Config
com.google.firebase:firebase-invites:9.6.0 Invites and Dynamic Links
com.google.firebase:firebase-ads:9.6.0 AdMob
com.google.android.gms:play-services-appindexing:9.6.0 App Indexing

Firebase Analytics – это инструмент для анализа мобильных приложений. Отчасти он похож на Google Analytics, но имеет ряд отличий.

Бывший сервис для доставки push-уведомлений из облака на устройства Google Cloud Messaging теперь интегрирован в Firebase и называется Firebase Cloud Messaging (FCM). Он полностью бесплатен, оптимизирован для экономии заряда батареи и работает на iOS, Android и в браузерах.

Firebase Storage позволяет организовывать загрузку и хранение файлов (изображения, видео, аудио и др.).

Firebase Remote Config позволяет подстраивать и обновлять элементы приложения на лету без необходимости обновлять пакет приложения и ждать, пока он станет доступен в магазине приложений, а затем обновится у пользователей. Вы можете включать и выключать определённые элементы приложений, распространять апдейт на конкретные Аудитории пользователей.

Firebase Authentication — аутентификация всех возможных форматов.

FIrebase Crash Reporting собирает и отсылает вам самую важную информацию, которая может помочь в поиске проблем iOS/Android-приложений после релиза.

Firebase Test Lab — облачное тестирование приложений на реальных девайсах, которые расположены в дата-центрах.

Firebase Notifications — новый интерфейс, построенный на базе API Firebase Cloud Messaging, дополненный возможностями Firebase Analytics и Аудиториями. Он позволяет таргетированно разослать уведомления пользователям вашего приложения не прикасаясь к редактору исходного кода. Рассказать о новых акциях, скидках, предложить персональные условия, обратить внимание людей на новые возможности теперь стало проще.

Firebase Dynamic Links улучшает работу со ссылками.

Firebase Invites позволяет быстро построить реферальную сеть — пусть ваши клиенты приводят новых.

Firebase App Indexing (бывший Google App Indexing) позволяет находить пользователям Google результаты непосредственно из вашего приложения.

Рекламная платформа AdWords теперь интегрирована в Firebase. Firebase отслеживает прогресс вашей кампании в AdWords и автоматически заполняет соответствующие разделы в Firebase Analytics.

Рекламная площадка Google AdMob таже является частью Firebase. Как только вы начинаете использовать Firebase SDK в своём проекте — AdMob к вашим услугам. Различные рекламные форматы (в том числе и нативная реклама), качественная статистика, интеграция с другими элементами Firebase — уже в комплекте.

Читайте также:  Выживания по сети с другом андроид

Консоль Firebase

Firebase | App success made simple — стартовая страница, в которой можно найти документацию. В ней можно увидеть ссылку на консоль, в которой находятся ваши проекты для взаимодействия с данными.

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

Большая часть новых продуктов, включая Analytics, Crash Reporting, Remote Config, и Dynamic Links — полностью бесплатны и не имеют каких-либо ограничений. Платные же сервисы — Test Lab, Storage, хостинг — имеет гибкую ценовую сетку. Бесплатный тариф SPARK с некоторыми ограничениями, отлично подойдёт для первых шагов, прототипа приложения, курсовой или дипломной работы, начала стартапа. Фиксированная ставка на тарифе FLAME для тех, кому нужна предсказуемая ежемесячная стоимость на ранних этапах развития приложения. Конфигурируемый тариф BLAZE для самых крупных клиентов.

Если вы уже успели создать проект на Firebase, когда он только появился, то ваш проект никуда не делся. Он по-прежнему поддерживается в старом интерфейсе. Но Гугл даёт возможность перейти на новую версию по желанию.

Источник

Начинаем работать с Firebase на Android

Для мобильных приложений необходим сервер для выполнения таких задач, как проверка подлинности пользователей и синхронизация пользовательских данных на нескольких устройствах. Однако для создания такого сервера требуется набор навыков, которого не хватает большинству независимых разработчиков приложений. К счастью, есть несколько back-end как сервисных платформ, которые часто называют BaaS, которые вы можете использовать сегодня. Firebase от Google — одна из таких платформ.

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

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

Предпосылки

Чтобы следовать материалу, вам понадобятся:

  • Android Studio 2.2 RC2 или выше
  • 1. Использование Firebase Analytics

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

    Шаг 1: Настройка Firebase Analytics

    В последних версиях Android Studio есть встроенная поддержка Firebase Analytics. Это означает, что вы можете добавить Firebase Analytics в свой проект, не покидая Android Studio.

    Чтобы начать интеграцию Firebase Analytics с вашим проектом, нажмите «Сервис»> «Firebase». Вам будет предоставлено следующее окно помощника:

    Нажмите «Аналитика», а затем «Зарегистрировать событие Analytics».

    Теперь вы должны связать свой проект Android Studio с проектом Firebase. Поэтому нажмите кнопку «Подключиться к Firebase».

    В появившемся диалоговом окне вы сможете увидеть все существующие проекты Firebase. Вы можете выбрать один из них или выбрать новый проект. На данный момент я предлагаю вам выбрать вариант «Создать новый проект Firebase» и дать уникальное имя проекту.

    После нажатия кнопки «Подключиться к Firebase», которая находится внутри диалогового окна, Android Studio автоматически выполнит все необходимые изменения конфигурации, такие как создание файла google-services.json и загрузка SHA1.

    Теперь вы можете нажать кнопку Добавить Google Analytics, чтобы добавить плагин Firebase и зависимость Firebase Core к вашему проекту. Android Studio покажет вам точные изменения, которые будут внесены в файлы build.gradle.

    Нажмите «Принять изменения», чтобы завершить настройку.

    Шаг 2: Создание событий Analytics

    После того, как вы настроили Firebase Analytics для своего приложения, вам не нужно писать какой-либо дополнительный код, если вас устраивают только автоматически созданные события аналитики, такие как пользователь, открывающий ваше приложение в первый раз, использование приложения дольше чем 10 секунд, совершение покупки в приложении или удаление приложения. Таким образом, вы можете запустить приложение сейчас — на эмуляторе или на реальном устройстве — и в течение следующих 24 часов вы сможете увидеть журналы аналитики в консоли Firebase.

    Если вы хотите более внимательно проанализировать поведение своих пользователей, вы можете создавать собственные события аналитики вручную, используя метод logEvent() класса FirebaseAnalytics . Метод ожидает два параметра: строку, определяющую имя настраиваемого события, и Bundle , содержащий сведения о событии в виде пар ключ-значение.

    Например, если вы хотите генерировать событие с именем my_custom_event каждый раз, когда пользователь нажимает на определенную кнопку, вам нужно добавить следующий код в обработчик кликов кнопки:

    По большей части пользовательские события неотличимы от автоматически собранных событий в консоли Firebase.

    Обратите внимание, что имена событий чувствительны к регистру. Поэтому рекомендуется определять все имена событий как постоянные строки. Кроме того, вы можете использовать предопределенные константы имен событий, доступные в классе FirebaseAnalytics.Event .

    2. Использование Firebase Auth

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

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

    Шаг 1: Настройте свой проект

    Чтобы иметь возможность использовать Firebase Auth в вашем проекте Android Studio, вы должны добавить следующую compile зависимость к файлу build.gradle модуля app.

    Шаг 2. Включение проверки подлинности на основе паролей

    По умолчанию Firebase не разрешает аутентификацию пользователя. Таким образом, вы должны вручную включить аутентификацию пользователя на основе пароля в консоли Firebase. Для этого перейдите в раздел Auth и нажмите кнопку «Настройка входа в систему». Теперь вы увидите список всех доступных входных провайдеров.

    Выберите «Электронная почта / Пароль», включите его и нажмите «Сохранить».

    Шаг 3: Поддержка регистрации пользователей

    При аутентификации на основе пароля новые пользователи должны регистрироваться, предоставляя уникальный адрес электронной почты и пароль. Чтобы добавить эту функциональность в свое приложение, вы можете использовать метод createUserWithEmailAndPassword() класса FirebaseAuth . Как следует из названия, метод ожидает, что в качестве аргументов будет указан адрес электронной почты и пароль.

    Чтобы определить результат метода createUserWithEmailAndPassword() , вы должны добавить к нему OnCompleteListener , используя метод addOnCompleteListener() . В следующем фрагменте кода показано, как зарегистрировать нового пользователя, а также сообщить, успешно ли завершен процесс регистрации:

    Обратите внимание, что вы несете ответственность за проверку адресов электронной почты и убедитесь, что пользователи используют надежные пароли.

    Вы можете просмотреть адреса электронной почты всех успешно зарегистрированных пользователей на вкладке «Users» в разделе Auth в консоли Firebase.

    Шаг 4: Поддержка входа пользователя

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

    Чтобы залогинить пользователя вручную, вы должны использовать метод signInWithEmailAndPassword() класса FirebaseAuth . Метод ожидает адрес электронной почты и пароль в качестве его единственных аргументов и возвращает объект Task . Добавив к нему OnCompleteListener , вы можете проверить, был ли вход успешно завершен.

    Чтобы избежать входа за пользователя, который уже вошел, вы должны вызвать метод signInWithEmailAndPassword() , только если текущий FirebaseUser имеет значение NULL .

    В следующем фрагменте кода показано, как залогинить пользователя:

    Шаг 5: Поддержка выхода пользователя

    Чтобы отписать пользователя, вы можете просто вызвать метод signOut() класса FirebaseAuth .

    3. Использование базы данных Firebase в реальном времени

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

    Шаг 1: Настройте свой проект

    Прежде чем использовать базу данных в режиме реального времени, вам придется добавить следующую compile зависимость к файлу build.gradle вашего модуля app:

    Шаг 2: Запись данных

    Вы можете представить базу данных в реальном времени как объект JSON. Это означает, что вы можете добавить к нему пары ключ-значение, где ключи всегда являются строками, а значения — это примитивы, массивы или другие объекты JSON.

    Прежде чем писать в базу данных реального времени, вы должны получить ссылку на нее с помощью метода getInstance() класса FirebaseDatabase . Затем вы можете получить ссылку на любой путь внутри базы данных с помощью метода getReference() . Путь может содержать либо один ключ, либо несколько ключей, расположенных иерархически.

    Когда у вас есть DatabaseReference к пути, вы можете установить его значение с помощью метода setValue() .

    В следующем фрагменте кода показано, как добавить в базу данных простую пару «ключ-значение»:

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

    Шаг 3: Чтение данных

    Чтобы прочитать значение из базы данных в реальном времени, вы должны присоединить асинхронный наблюдатель к связанному ключу или пути. Точнее, вы должны присоединить объект ValueEventListener к объекту DatabaseReference , используя метод addValueEventListener() .

    Метод onDataChange() ValueEventListener дает вам доступ к объекту DataSnapshot , метод getValue( ) может использоваться для получения последнего значения ключа.

    Например, вот как вы можете получить значение, которое мы установили на предыдущем шаге:

    Обратите внимание, что после добавления ValueEventListener метод onDataChange() запускается каждый раз, когда изменяется значение, которое оно отслеживает.

    Заключение

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

    Чтобы узнать больше о Firebase, вы можете обратиться к официальной документации. Вы также можете ознакомиться с нашим руководством по использованию Firebase Crash Reporting в Android:

    Источник

    Читайте также:  Сделать образ внутренней памяти андроид
Оцените статью