Firebase что это за программа

Что такое Firebase и почему стоит с этим познакомиться

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

Firebase хранит текстовые данные в JSON формате и предоставляет удобные методы для чтения, обновления и извлечения данных. Также, Firebase может помочь с регистрацией и авторизацией пользователей, хранением сессий (авторизованные пользователи), медиафайлов к которым с легкостью предоставляет доступ благодаря Cloud Storage.

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

Зачем нужна Firebase, ведь есть другие базы данных.

Единственная причина, по которой я изначально заинтересовался Firebase, это гибкость и скорость деплоя в проект.

Что такое Firebase, и зачем он вам?

Вот смотрите: языки программирования Python и JavaScript сами по себе гибкие (и очень популярные). Благодаря этому, мы (разработчики) получаем мощный инструмент для создания в кратчайшие сроки сайта, веб-приложения, мобильного или даже десктопного приложения.

Firebase позволяет сохранять эту скорость. Не нужно отвлекаться на какие-то другие вещи (создание базы данных, написание API приема и получения данных). Вся серверная часть ложится на плечи этого сервиса. Благодаря такому мощному инструменту можно за один вечер накидать функционал любого модуля с чтением, сохранением данных и показать заказчику функциональный пример.

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

Панель управления Firebase

Переходим к практическому ознакомлению, давайте все щупать руками. Мы посмотрим, что находится внутри “Консоли разработчика” Firebase, познакомимся с интересными методами и отправим пару тестовых запросов. Примеры я буду показывать на JavaScript в проекте где используется Webpack и менеджер пакетов npm. Основа, все же, это JavaScript, поэтому не пугайтесь.

проекта, просто выберите свою страну.

панель управления firebase

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

Установка в проект за 60 секунд

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

Что такое Firebase realtime database

конфигурация firebase для установки

Прежде чем добавлять данный код в проект, нужно установить Firebase в свое приложение. Делается это очень легко с помощью команды:

npm install firebase —save

Если у вас Mac или Linux добавьте перед npm команду sudo.

Я создал асинхронную функцию (если с ними не знакомы, можете прочитать статью по ссылке). В конструкции try я создаю константу data, которая ждет await метод firebase. Благодаря волшебному слову await моя async функция превращается в промис и ждет заполнения переменной data. После заполнения (удачной регистрации) она превратится в объект и будет содержать в себе данные о пользователе. Т.е потом, можно вызвать эту переменную в консоль.

Например, можно вызвать console.log(data) и получить огромный объект с кучей разных атрибутов. В моем примере, через console.log(data.user.uid), вызывается уникальный идентификатор пользователя (которого мы только что зарегистрировали).

В сам метод firebase.auth().createUserWithEmailAndPassword() я отправляю почту пользователя и будущий пароль.

В catch мы можем попытаться поймать объект error.

пример ошибок приходящих с сервера firebase

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

Обработка ошибок из моего приложения:

пример обработки ошибок firebase

Оставлю полезную ссылку на все статус-коды ошибок у авторизации. У каждого метода свои статус коды ошибок!

Метод firebase.auth().signInWithEmailAndPassword()

Это метод авторизации. Давайте сразу на примере. Смотрим в конструкцию try.

async login(email, password) try const data = await firebase.auth().signInWithEmailAndPassword(email, password)
console.log(data.user.uid)
> catch (error) console.log(error.message)
throw error
>
>

Все такая же async функция и await метод. В await метод firebase.auth().createUserWithEmailAndPassword() я передаю почту и актуальный пароль пользователя.

После прохождения авторизации (успешного выполнения метода firebase.auth().createUserWithEmailAndPassword()) константа data будет содержать в себе объект user с его идентификатором. Если пароль (ну или еще что-нибудь) будет неверным, сработает метод catch и firebase ответит ошибкой.

Через catch мы как раз и ловим сообщения об ошибках от метода firebase.

Метод firebase.auth().onAuthStateChanged()

С помощью этого метода мы можем получить авторизованного пользователя. Это что-то вроде сессии. Пока сессия существует, мы можем использовать некоторые глобальные переменные Firebase. Например, получить объект user, в котором есть идентификатор авторизованного пользователя. Сама сессия существует пару дней и привязывается к ip адресу (но это не точно).

firebase.auth().onAuthStateChanged(user => if (user) // Какая-то логика
> else this.$router.push(‘/login’)
>
>)

Как видите, если user существует — я что-то делаю с этим. Если нет, отправляю человека на страницу авторизации с помощью методов из Vue.js.

Ну что, впечатлены? Если бы вы это делали второй или третий раз, то потратили не больше 10 минут на полноценную регистрацию и авторизацию пользователей.

Чтение, запись и обновление данных

Снова возвращаемся в консоль. В левом меню выбираем Database. Это и есть наша база данных. Здесь нам предлагают создать либо облачную базу данных, либо Realtime Database. Выбирайте Realtime Database.

Почему Realtime Database?

Потому что она старше, стабильней и почти любая проблема с ней освещена в интернете.

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

Возвращаемся к работе с данными

Чтобы контекст был понятен, так выглядит моя база на данный момент:

пример базы данных firebase

Метод firebase.database().ref().push()

Для записи данных в Firebase используем метод firebase.database().ref().push().

async newClient(newClinet) try const addClient = await firebase.database().ref(‘clients’).push(newClinet)
console.log(addClient)
> catch (error) console.log(error.message)
throw error
>
>

Нам нужно создать асинхронную функцию. К методу firebase мы добавляем await. Если дальше хотим как-то обработать ответ от базы данных асинхронные функции обязательны.

Здесь в асинхронной функции newClient я передаю аргумент newClient. Данный аргумент содержит какой-то объект с данными, далее этот объект (новый клиент) я отправляю в Firebase.

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

Метод push() содержит в себе данные, которые мы будет отправлять в объект clients.

Представим, код выше я запустил 3 раза. Результат запросов вы можете увидеть все на том же скриншоте выше. Как видите Firebase сама создала главный объект (хранилище) clients и записала в него три объекта поменьше. Каждому объекту Firebase сгенерировала свой ключ (идентификатор). Он уникален в рамках объекта clients.

Метод firebase.database().ref().once()

Для получения данных из Firebase используем метод firebase.database().ref().once().

async loadClietsList() try const query_clientsList = await firebase.database().ref(‘clients’).once(‘value’)
const clientsList = query_clientsList.val()
console.log(clientsListArray)
> catch (error) console.log(error.message)
throw error
>
>

Нам нужно также создать асинхронную функцию. Методу firebase мы добавляем await. Константа query_clientsList содержит в себе вышеописанный метод. В ref указывается путь к объекту, который хотим получить. Посмотрите на скриншот выше, clients у меня находятся в основе моей базы данных, поэтому путь выглядит у меня максимально простым.

Если я хочу обратиться к какому-то клиенту из clients в ref, я укажу еще его идентификатор, получится ref(‘clietns/-M5mvz6HSFnbP3L2KiHG’), а если я хочу взять номер телефона конкретного клиента, ref будет выглядеть так ref(‘clietns/-M5mvz6HSFnbP3L2KiHG/number’).

После ref идет обязательный метод once(‘value’). Т.е мы говорим Firebase, что хотим по этой ссылке получить какие-то значение.

Когда await выполнится, и константа query_clientsList заполнится, мы можем воспользоваться методом val() по отношению к константе. Например, query_clientsList.val(). Если эту конструкцию мы попробуем отправить в консоль, то увидим заветные данные: три клиента из моей базы данных.

Метод firebase.database().ref().remove()

Данный метод отвечает за удаление данных из нужного объекта.

Такая команда полностью удалит весь объект clients.

Если путь у ref() будет примерно такой: ‘clients/-M5mvz6HSFnbP3L2KiHG’, то удален будет только тот объект в clients, который имеет данный идентификатор.

Права доступа

В базе данных есть вкладка “Правила”.

пример настройки прав доступа для firebase базы данных

В самом начале раздела “Чтение, запись и обновление данных” я попросил вас установить правила чтения и записи базы данных в тестовый режим. Когда вы закончите разработку приложения, вы обнаружите, что ваши данные могут менять и получать абсолютно все, у кого есть ваш конфиг.

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

В правах доступа используется свой “язык” оперирующий значениями true и false. На скриншоте выше мои настройки, здесь я просто запретил чтение и запись всем, кто не авторизован. Мое приложение это обычная CRM система для малого бизнеса, у нее общее хранилище и данными внутри управляют 3-4 человека, а свободная регистрация вообще отсутствует, поэтому таких настроек хватает.

Ваше приложение — ваша логика, поэтому позаботьтесь о безопасности.

P.S: Как и обещал, ссылка на документацию к Storage.

Вывод

Надеюсь, вы впечатлены мощью инструмента Firebase и обязательно с ним ознакомитесь хотя бы в тестовых целях.

Опубликовано: 2020-05-04 16:45

Нужен сайт?

Готов за разумную плату разработать сайт, CRM-систему или внедрить дополнительный функционал в существующий проект.

Как связаться

Источник: kolmogorov.pro

Firebase — Введение

Firebase — это продукт Google, который помогает разработчикам легко создавать, управлять и развивать свои приложения. Это помогает разработчикам создавать свои приложения быстрее и безопаснее. На стороне firebase не требуется никакого программирования, что упрощает использование его функций более эффективно. Он предоставляет услуги для Android, iOS, Интернета и Unity.

Предоставляет облачное хранилище. Он использует NoSQL в качестве базы данных для хранения данных.

Краткая история Firebase:

Firebase изначально была поставщиком услуг онлайн-чата для различных веб-сайтов через API и работала под названием Envolve . Он стал популярным, поскольку разработчики использовали его для обмена данными приложений, такими как состояние игры, в режиме реального времени между своими пользователями, а не в чатах. Это привело к разделению архитектуры Envolve и ее системы чата. Архитектура Envolve была далее развита ее основателями Джеймсом Тамплином и Эндрю Ли, и в 2012 году она превратилась в современную Firebase.

Особенности Firebase:

В основном есть 3 категории, в которых firebase предоставляет свои услуги.

1. Создавайте лучшие приложения

Эта функция в основном включает в себя серверные службы, которые помогают разработчикам лучше создавать и управлять своими приложениями. Услуги, включенные в эту функцию:

  • База данных в реальном времени: Firebase Realtime Database — это облачная база данных NoSQL, которая управляет вашими данными с молниеносной скоростью миллисекунд. Проще говоря, его можно рассматривать как большой файл JSON.
  • Cloud Firestore: Cloud Firestore — это база данных документов NoSQL, которая предоставляет такие услуги, как хранение, синхронизация и запросы через приложение в глобальном масштабе. Он хранит данные в виде объектов, также известных как документы. Он имеет пару ключ-значение и может хранить все виды данных, такие как строки, двоичные данные и даже деревья JSON.
  • Аутентификация: служба аутентификации Firebase предоставляет простые в использовании библиотеки пользовательского интерфейса и SDK для аутентификации пользователей в вашем приложении. Это снижает трудозатраты и усилия, необходимые для разработки и поддержки службы аутентификации пользователей. Он даже выполняет такие задачи, как объединение учетных записей, что, если сделать это вручную, может быть беспокойным.
  • Remote Config: служба удаленной настройки помогает немедленно публиковать обновления для пользователя. Изменения могут варьироваться от изменения компонентов пользовательского интерфейса до изменения поведения приложений. Они часто используются при публикации сезонных предложений и контента в приложении с ограниченным сроком службы.
  • Хостинг: Firebase обеспечивает быстрый и безопасный хостинг приложений. Его можно использовать для размещения Stati или динамических веб-сайтов и микросервисов. Он имеет возможность размещать приложение с помощью одной команды.
  • Firebase Cloud Messaging (FCM): служба FCM обеспечивает соединение между сервером и конечными пользователями приложения, которое можно использовать для получения и отправки сообщений и уведомлений. Эти соединения надежны и позволяют экономить заряд аккумулятора.

Повысьте качество приложения:

  • Crashlytics: он используется для получения отчетов о сбоях в реальном времени. Эти отчеты в дальнейшем могут быть использованы для улучшения качества приложения. Самая интересная часть этого сервиса заключается в том, что он дает подробное описание сбоя, которое легче анализировать разработчикам.
  • Мониторинг производительности: эта служба дает представление о характеристиках производительности приложений. SDK для мониторинга производительности можно использовать для получения данных о производительности от приложения, их просмотра и внесения соответствующих изменений в приложение через консоль Firebase.
  • Лаборатория тестирования: эта служба помогает тестировать ваши приложения на реальных и виртуальных устройствах, предоставляемых Google, которые размещены в центрах обработки данных Google. Это облачная инфраструктура для тестирования приложений, которая поддерживает тестирование приложения на самых разных устройствах и конфигурациях устройств.
  • Распространение приложений: эта служба используется для предварительного выпуска приложений, которые могут быть протестированы доверенными тестировщиками. Это полезно, так как сокращает время, необходимое для получения обратной связи от тестировщиков.

Развивайте свое приложение:

  • Аналитика Google: это бесплатная служба измерения приложений, предоставляемая Google, которая дает представление об использовании приложений и взаимодействии с пользователями. Он обслуживает неограниченную отчетность по 500 отдельным автоматическим или определяемым пользователем событиям с использованием Firebase SDK.
  • Прогнозы: Firebase Predictions использует машинное обучение для анализа данных приложения, дополнительно создавая динамические пользовательские сегменты, основанные на поведении вашего пользователя. Они автоматически доступны для использования в приложении через Firebase Remote Config, композитор уведомлений, обмен сообщениями внутри приложения Firebase и A / B-тестирование.
  • Динамические ссылки: Deeps Links — это ссылки, которые напрямую перенаправляют пользователя к определенному контенту. Firebase предоставляет службу динамических ссылок, которая преобразует глубокие ссылки в динамические ссылки, которые могут напрямую направлять пользователя к указанному контенту внутри приложения. Динамические ссылки используются для преобразования веб-пользователей в пользователей собственных приложений. Это также увеличивает конверсию обмена между пользователями. Кроме того, его также можно использовать для интеграции социальных сетей, электронной почты и SMS, чтобы повысить вовлеченность пользователей внутри приложения.
  • A / B-тестирование: оно используется для оптимизации работы приложения, обеспечивая его бесперебойную работу, масштабируя продукт и проводя маркетинговые эксперименты.

Плюсы и минусы использования Firebase:

Ниже перечислены преимущества и недостатки использования серверной части Firebase:

Плюсы:

  • Бесплатные планы для новичков.
  • Доступна база данных в реальном времени.
  • Растущее сообщество.
  • Доступны многочисленные услуги.

Минусы:

  • Он использует NoSQL, поэтому люди, переходящие с SQL, могут столкнуться с трудностями.
  • Он все еще растет, поэтому до некоторой степени не протестирован.

Компании, использующие Firebase

  • Нью-Йорк Таймс
  • Alibaba.com
  • Gameloft
  • Duolingo
  • Trivago
  • Venmo
  • Lyft

Цена:

Доступно 2 тарифных плана. План Spark изначально бесплатный, но по мере роста вашей пользовательской базы вам может потребоваться перейти на план Blaze. Firebase просит вас платить по мере использования. Для большинства разработчиков, которые только начинают работать и находятся на пути обучения, они охватываются искровым планом.

Источник: progler.ru

Строим мобильное приложение на Firebase — бесплатном и мощном бэкенде Google

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

Сказать, что по нашей улице прошел инкассатор, — это ничего не сказать. Займемся изучением инструмента вплотную!

Farewell VK, hello Firebase

В своих предыдущих статьях я рассматривал VK API как бесплатный бэкенд мобильных приложений. У него есть ряд преимуществ. Хостинг безлимитный, типов контента много, управлять им может даже школьник, достаточно объяснить ему структуру наполнения приложения.

На наше счастье, Google выкупила компанию Firebase и открыла ее для использования всем желающим.

Подробнее, что там есть интересного

Твори, расти, зарабатывай!

Другие статьи в выпуске:

Xakep #218. Смотри во все глаза

  • Содержание выпуска
  • Подписка на «Хакер» -60%

В нашем распоряжении имеются:

Просто включи свой провайдер

  • Analytics — аналитика по приложению: размер аудитории, информация о пользователях, события в приложении и прочее.
  • Authentication — пользователи могут привязать свои учетные записи к приложению, а к ним мы можем привязать любые данные. Из коробки поддерживаются следующие провайдеры авторизации: Google, Facebook, Twitter, GitHub, анонимный вход и имейл-пароль для своей регистрации. Не хватает только VK-авторизации.
  • Realtime Database — самая настоящая база данных, работает с живыми изменениями в реальном времени.
  • Storage — хранилище для файлов пользователей, можно легко сделать персональное хранилище, а можно и делиться файлами.
  • Hosting — тут просто моментальное развертывание веб-приложений и мобильных приложений с помощью безопасной глобальной сети доставки контента.
  • Test Lab for Android — тестируй приложения Android на самых разных устройствах.
  • App Indexing — свяжи информацию с веб-сайта с внутренними страницами приложения, также есть возможность индексировать данные приложения и отображать их в результатах поиска на устройстве.
  • Crash Reporting — сбор информации о сбоях в приложении (на ранних версиях и сам был источником крашей, но вроде починили).
  • Notifications — уведомления, замена старым Google Cloud Messaging.
  • Remote Config — способ менять поведение приложения прямо со своего сервера, изменяя нужные параметры.
  • Dynamic Links — полезный способ прокинуть контекст в приложение (например, пользователь читал про аспирин на твоем сайте, перешел в маркет, установил приложение, и ему открылась страница с аспирином).
  • AdMob — рекламный сервис с множеством форматов, по праву занимает лидирующие позиции в мобильной рекламе. У этой сети рекламы всегда много, и она модерируется.

А за что попросят деньги?

Деньги с нас справедливо попросят, если наш бизнес действительно разрастется. Когда он упрется в бесплатные лимиты, платить нам уже будет с чего.

Бесплатно нам доступно:

  • Realtime Database:
  • 100 единовременных подключений
  • 1 Гбайт хранилища
  • 10 Гбайт в месяц трафика
  • 5 Гбайт хранилища
  • 1 Гбайт в день трафика
  • 20 000 операций загрузок в день
  • 50 000 операций скачивания в день
  • 1 Гбайт хранилища
  • 10 Гбайт в месяц трафика
  • Custom domain hosting
  • getEmail() — имейл-адрес;
  • getUid() — уникальный ID пользователя в системе;
  • getDisplayName() — имя пользователя;
  • getProviderData().get(1).getProviderId() — подскажет, как пользователь аутентифицировался (проверь на equals(«password») , если через email/пароль).

Имея ссылку на аватар пользователя, можно в одну строчку кода загрузить его и отобразить в приложении. Для этого есть множество сторонних библиотек: Glide, Fresco, Picasso. Но если на счету каждый килобайт, то можно использовать свой AsyncTask. Вызываем загрузку так:

ImageView iv_header = (ImageView) mDrawerHeader.findViewById(R.id.iv_header); if (user.getPhotoUrl() != null)

DownloadImageTask в фоне загружает картинку, а в UI-потоке устанавливает ее в нужный ImageView:

Раздел «Аутентификация» в консоли разработчика

Работа с Realtime Database

Читать данные из Realtime Database можно и не представившись, для описания уровней доступа к информации используются правила. Описываются они в древовидной форме, можно задать отдельные правила на каждую ветвь.

Древовидная структура данных Пример правил из моего проекта

В моем проекте настройки пользователей хранятся в ветке history. Пользователь может читать только свою ветвь и только если он представился. Для проверки работы правил доступа есть симулятор.

Проверяем правила доступа прямо в консоли

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

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

Резервные копии на текущем тарифе недоступны, но если бизнес разрастется, то обязательно купим и настроим.

Пишем и читаем данные с Android

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

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

Вот как просто объект User записывается в ветку users:

private void writeNewUser(String userId, String name, String email)

Получить уникальный userId пользователя после аутентификации очень просто: user.getUid() . Чтобы обновить данные, нужно просто вызвать setValue() с новыми данными. Уникальный ключ для каждого объекта позволяют получить методы push() и getKey() . В следующем примере я запрашиваю ключ для еще не добавленной записи, а потом создаю ветку с этим ключом и в нее сохраняю объект:

String key = mDatabase.child(mUserId).push().getKey(); wi.ID = key; Map postValues = wi.toMap(); mDatabase.child(mUserId).child(key).setValue(postValues);

Для чтения данных используются слушатели ValueEventListener, их нужно устанавливать на интересующие нас ветки методом addValueEventListener . Событие будет происходить каждый раз при обновлении данных на сервере, при первом подключении к БД, и просто так про запас еще раза два-три может произойти. Так что будь готов к этому морально и практически. Если тебе нужно прочитать данные один раз и больше не мучиться, то используй метод addListenerForSingleValueEvent .

Вот пример одноразового получения списка объектов для текущего пользователя из ветки history.

А если нам нужно постоянно отслеживать изменяющийся список, то в этом поможет слушатель ChildEventListener, который позволяет слушать не единичный элемент, а всю дочернюю ветку:

Здесь пять событий, сами собой объясняющие свою логику. Будь готов к срабатыванию их, причем многократному: на моем опыте при ручном добавлении элемента из приложения событие onChildAdded для этого элемента отрабатывало три раза.

Узнай своего пользователя при помощи Analytics

Старый инструмент Google Analytics создавался изначально как инструмент для работы с вебом. Позже его адаптировали под нужды мобайла, но ограничение его было существенным. В новой аналитике Firebase собирается данных намного больше. Например, данные об удалении приложения, обновлении ОС на устройстве, очистка кеша приложения. Множество событий отслеживается автоматически и не требует нашего вмешательства.

Если мы хотим собрать события внутри приложения, то нам поможет класс FirebaseAnalytics. В своих проектах, чтобы иметь возможность вызывать методы аналитики в любом месте проекта, я размещаю ссылку на объект аналитики в классе Application. Инициализирую его один раз при создании приложения:

public class App extends Application < private static FirebaseAnalytics mFirebaseAnalytics; public void onCreate() < super.onCreate(); mFirebaseAnalytics = FirebaseAnalytics.getInstance(this); >public static void selectContent(String type, String id) < Bundle bundle = new Bundle(); bundle.putString(FirebaseAnalytics.Param.ITEM_ID, id); bundle.putString(FirebaseAnalytics.Param.CONTENT_TYPE, type); mFirebaseAnalytics.logEvent(FirebaseAnalytics.Event.SELECT_CONTENT, bundle); >>

Метод select_content можно вызвать одной строчкой. Например, соберем данные по использованию пунктов меню: App.selectContent(«меню»,»окно о-программе») или App.selectContent(«меню»,»окно настройки») .

Установив отслеживание событий в приложении, мы будем знать, что пользователя интересует больше всего. Данные, отправленные методом logEvent , нужно искать в консоли проекта на вкладке «События».

События нашего проекта

Все события на рисунке собраны системой автоматически, кроме select_content (его реализация описана выше). Вот детали по этому методу (тут ясно видно, куда отправились параметры CONTENT_TYPE и ITEM_ID ):

Карточка события select_content

Полный список событий FirebaseAnalytics доступен тут.

Про подключение и вместо заключения

После настройки всех необходимых модулей Firebase в консоли необходимо получить файл конфигурации с настройками проекта google-services.json . Там же можешь добавить контрольные суммы сертификатов SHA (это можно сделать через ассистент прямо из Android Studio: Tools → Firebase). Я добавляю два сертификата: один от дебаг-ключа и один релизный. Файл google-services.json размести в папку app проекта. В gradle-файле проекта не забудь подключить нужные библиотеки, например:

// Firebase Authentication compile ‘com.google.firebase:firebase-auth:10.0.1’ // Firebase Data Base compile ‘com.google.firebase:firebase-database:10.0.1’ // Google Sign In SDK (only required for Google Sign In) compile ‘com.google.android.gms:play-services-auth:10.0.1’ // Firebase-аналитика compile ‘com.google.firebase:firebase-core:10.0.1’

И в конце допиши apply plugin: ‘com.google.gms.google-services’ , этот плагин обработает файл google-services.json .

Эта статья — только первый подход к такому тяжелому снаряду, как Firebase. Недавно этот снаряд стал еще тяжелее, а значит, нам есть что изучать и использовать.

Думаю, в будущем хакеры найдут достойное применение такой мощной и бесплатной технологии :).

Источник: xakep.ru

Что такое Firebase (realtime database)

В последнее время для разработки веб-приложений стало популярным такое решение, которое называется Firebase. Давайте рассмотрим, что это такое.

А конкретно, в Firebase есть такое понятие как Realtime Database давайте разбираться, что это такое.

Firebase — это комплексная платформа для разработки веб-приложений от компании Google.

Эта платформа — набор определенных сервисов, которые включены в продукт Firebase. Там вы можете увидеть множество сервисов: Cloud Firestore, Cloud Functions и то, о чем мы будем говорить в этом видео — это Realtime Database (база данных в режиме реального времени).

Когда говорят о Firebase, понимают этот сервис.

Используя ее в своей работе мы получаем скорость и удобство работы с данными в реальном времени. Fire (огонь), что-то такое динамичное, постоянно меняющееся.

Что значит режим реального времени?

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

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

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

Такой огромный плюс этой системы.

В традиционном приложении решение такой задачи проблемно.

Realtime database — это хранение и синхронизация данных в реальном времени.

Это документо-ориентированная база данных.

+ Работаем с JSON

Это универсальность работы с разными устройствами и нам не нужно подготавливать из таблиц данные в этот формат.

+ Скорость в разы больше реляционных баз данных.

Уже внутри базы данных данные у нас хранятся в этом формате. Данные хранятся в облаке. Мы можем на любом устройстве перейти в нашу базу данных и что-то там поменять.

Сколько же это стоит?

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

Конечно, у этого тарифного плана есть ограничения. База данных ограничена в хранении 1GB данных. Но, для того, чтобы разместить 1GB данных, нужно постараться. По объему загрузки лимит 10Gb в месяц.

И еще одно ограничение бесплатного тарифного плана, что на 1 проект может быть только одна база данных.

Но, для разработки каких-то простых приложений это вполне может подойти. Если вам будет нужно что-то более продвинутое, вы всегда можете перейти на платную версию.

Такая идея. Решение, которое в последнее время приобретает все большую популярность.

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

Источник: webkyrs.info

Артём Саннников

Что такое Firebase Google?

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

На данный момент API реализовано для приложений, которые написаны на JavaScript, Java, Node.js и Objective-C. Но помимо работы с API, возможно работать напрямую (в реальном времени) с базой данных в стиле REST из ряда JavaScript-фреймворков, как например: AngularJS, React, Vue.js, Ember.js и Backbone.js.

Для обеспечения безопасности передачи данных от сервера к клиенту, и наоборот, было предусмотрено API для шифрования данных.

Помимо прочего, Firebase предоставляет ещё и хостинг для хранения статических файлов (таких как изображения, файлы стилей, скрипты и т.д), обеспечивающий доставку через CDN (сети доставки контента).

Источник: artemsannikov.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
eft-soft.ru