Sunteți pe pagina 1din 26

A

SEMINAR REPORT
ON
“ FIREBASE ”

Submitted By:
Name : RISHABH BARMAN
Roll No. : 1402710124
Semester : 6th
Section : CS - 2
Signature :

DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING

AJAY KUMAR GARG ENGINEERING COLLEGE


GHAZIABAD

1
ABSTRACT:

Firebase is a mobile and web platform that helps to quickly develop high-quality apps,
grow user base, and earn more money. Firebase is made up of complementary features
that you can mix-and-match to fit your needs. Implementing Firebase is quick and easy.
With intuitive APIs packaged into a single SDK, one can focus on solving customers'
problems and not waste time building complex infrastructure. Firebase Analytics is the
free and unlimited analytics solution built directly into Firebase. Firebase Analytics works
with other Firebase features, so that one can take action on everything from click-through
rates to app crashes.

2
TABLE OF CONTENTS

1. List of Figures ………………………………………………………4

2. Introduction ………………………………………………………5

3. How Does Firebase Work ?…………………………………………6

4. Services Offered by Firebase ……………………………………….7-15

4.1. Firebase Analytics…………………………………………..7


4.2. Firebase Authentication……………………………………..8
4.3. Real Time Databases………………………………………..8
4.4. Hosting………………………………………………………9
4.5. Storage………………………………………………………9
4.6. Remote config………………………………………………10
4.7. Test Lab for Android……………………………………….11
4.8. Crash Reporting…………………………………………….11
4.9. Dynamic Links……………………………………………...12
4.10. Firebase Invites……………………………………………..12
4.11. Google AdWords……………………………………….......13
4.12. Firebase App Indexing……………………………………...13
4.13. Firebase Notifications………………………………………14
4.14. AdMob……………………………………………………...15

5. Firebase Pricing …………………………………………………….16

6. Projects made using Firebase ………………………………………17-18

6.1. Firepad…………………………………………………………17

6.2. Firechat…………………………………………………………18

6.3. GeoFire…………………………………………………………18

7. Firebase Applications……………………………………………….19

8. Conclusion…………………………………………………………..20

9. References…………………………………………………………...21

10. Handouts…………………………………………………………….22-26

3
LIST OF FIGURES:

Fig 1: Services offered by Firebase …………………………………….….7

Fig 2: Firebase storage service ………………………………………….….9

Fig 3: Remote config service of Firebase…………………………………10

Fig 4: Crash reporting feature of firebase…………………………………11

Fig 5: How App Indexing is done using Firebase…………………………14

Fig 6: Pricing details about Firebase ……………………………………...16

Fig 7: Firepad……………………………………………………………...17

Fig 8: Firechat……………………………………………………………..18

Fig 9: GeoFire……………………………………………………………..18

4
INTRODUCTION

Firebase is a scalable, real-time support for web-based application. It allows developers


to build rich, collaborative applications without the hassle of managing servers or writing
server-side code. It is a mobile and web application platform with tools and infrastructure
designed to help developers build high-quality apps. Firebase is made up of
complementary features that developers can mix-and-match to fit their needs.

Firebase got evolved from Envolve Co., a prior start-up founded by computer experts
Tamplin and Lee in 2011 in San Francisco and Mountain View, California. Envolve
provided developers an API that let them integrate online chat into their websites. But
they founded that the service was being used to pass application data that wasn't chat
messages. Developers were using Envolve to sync application data such as game state in
realtime across their users. Tamplin and Lee decided to separate the chat system and the
real-time architecture that powered it, founding Firebase as a separate company in April
2012. In January 2014 Google acquired Firebase for $7 million.

Firebase has support for the web, iOS, OS X, and Android clients. In addition, it has a
Node.Js and a Java library designed for server-side use. The Firebase web client supports
all mainstream browsers (IE 7+, Firefox 3+, Chrome, Safari, Opera, and major mobile
web browsers), and it works on any network connection. Much of Firebase is built on top
of Google Cloud. Firebase projects are also Google Cloud projects. You can use both
Google Cloud features along with Firebase features in the same project. Google Cloud
doesn’t really give tools to build your mobile app. You’ll just have to write all the code
that deals with getting data in and out of the project. With Firebase, you get the SDKs for
mobile development, which makes building a mobile app a lot easier. Also, Google Cloud
doesn’t give you any realtime data operations like you get with Firebase Realtime
Database.

In many cases, application logic is best controlled on the server in order to avoid
tampering on the client side. Cloud Functions are fully insulated from the client so you
can be sure they are private and secure and can’t be reverse engineered.

5
HOW DOES FIREBASE WORK ?

 Firebase is essentially a real time database. The data appears as JSON files and
allows real time changes to occur on the connected client side. When you build
cross-platform apps using iOS, Android, JavaScript SDKs, your clients end up
getting all the data that was updated.
 Firebase has support for the web, iOS, OS X, and Android clients. It has a Node.Js
and a Java library designed for server-side use.
 Developers install firebase by including a library in their applications. This library
provides a data structure that is automatically synchronized between all of your
clients and with our servers.
 If one client changes a piece of data, every other client observing the same piece
of data will be updated as well within milliseconds.

Add Firebase to your Android project

1. Create a Firebase project in the Firebase console.


2. If you already have an existing Google project associated with your mobile
app, click Import Google Project. Otherwise, click Create New Project.
3. Click Add Firebase to your Android app and follow the setup steps. If you're
importing an existing Google project. Download the config file. When
prompted, enter your app's package name.
4. At the end, you'll download a google-services.json file.
5. If you haven't done so already, copy this into your project's module folder,
typically app/.

Add Firebase to your iOS project

1. The setup is similar to that in Android. But, at the end download a


GoogleService-Info.plist file.

6
SERVICES OFFERED BY FIREBASE

Fig 1: Services offered by Firebase

1. Firebase Analytics
 Firebase Analytics is a free app measurement solution that provides insight on app
usage and user engagement.
 A free and unlimited analytics solution, Firebase Analytics integrates across Firebase
features and provides unlimited reporting for up to 500 distinct events that can be
defined using the Firebase SDK. Firebase Analytics reports help you understand
clearly how your users behave, which enables you to make informed decisions
regarding app marketing and performance optimizations.
 The SDK automatically captures a number of events and user properties and also
allows you to define your own custom events to measure the things that uniquely
matter to your business.
 Once the data is captured, it's available in a dashboard through the Firebase console.
This dashboard provides detailed insights about your data — from summary data such
as active users and demographics, to more detailed data such as identifying your most
purchased items.
 For example, it automatically logs events that correspond to your Firebase
Notifications and provides reporting on the impact of each campaign.

7
2. Firebase Authentication
 Firebase Authentication provides backend services, easy-to-use SDKs, and ready-
made UI libraries to authenticate users to your app. It supports authentication using
passwords, popular federated identity providers like Google, Facebook and Twitter,
and more.
 Firebase Authentication integrates tightly with other Firebase services, and it leverages
industry standards like OAuth 2.0 and OpenID Connect, so it can be easily integrated
with custom backend.
 To sign a user into your app, you first get authentication credentials from the user.
These credentials can be the user's email address and password, or an OAuth token
from a federated identity provider. Then, you pass these credentials to the Firebase
Authentication SDK. Our backend services will then verify those credentials and
return a response to the client.
 After a successful sign in, you can access the user's basic profile information, and you
can control the user's access to data stored in other Firebase products. You can also
use the provided authentication token to verify the identity of users in your own
backend services.

3. Real time Databases

The Firebase Realtime Database is a cloud-hosted database. Data is stored as JSON and
synchronized in realtime to every connected client. When you build cross-platform apps
with our iOS, Android, and JavaScript SDKs, all of your clients share one Realtime
Database instance and automatically receive updates with the newest data.
 Realtime: Instead of typical HTTP requests, the Firebase Realtime Database uses data
synchronization—every time data changes, any connected device receives that update
within milliseconds. Provide collaborative and immersive experiences without
thinking about networking code.

 Offline: Firebase apps remain responsive even when offline because the Firebase
Realtime Database SDK persists your data to disk. Once connectivity is reestablished,
the client device receives any changes it missed, synchronizing it with the current
server state.

 Accessible from client devices: The Firebase Realtime Database can be accessed
directly from a mobile device or web browser; there’s no need for an application
server. Security and data validation are available through the Firebase Realtime
Database Security Rules, expression-based rules that are executed when data is read
or written.

8
4. Hosting
 Firebase Hosting provides fast and secure static hosting for your web app.
 Firebase Hosting is production-grade web content hosting for developers. With
Hosting, you can quickly and easily deploy web apps and static content to a global
content-delivery network (CDN) with a single command.
 Hosting gives a subdomain on the firebaseapp.com domain. Using the Firebase CLI,
deploy files from local directories on your computer to your Hosting server. Files are
served over an SSL connection from the closest edge server on our global CDN.
 In addition to static content hosting, Firebase Hosting offers lightweight configuration
options for you to be able to build sophisticated Progressive Web Apps. You can easily
rewrite URLs for client-side routing or set up custom headers.
 Once you're ready to take a site to production, you can connect your own domain name
to Firebase Hosting. We automatically provision an SSL certificate for your domain
so all your content is served securely.

5. Storage
 Cloud Storage is powerful and cost effective built for app developers who need to store
and serve user-generated content, such as photos or videos.
 The Firebase SDKs for Cloud Storage add Google security to file uploads and
downloads for your Firebase apps, regardless of network quality. You can use our
SDKs to store images, audio, video, or other user-generated content. On the server,
you can use Google Cloud Storage, to access the same files.
 Cloud Storage scales automatically, meaning that there's no need to migrate to any
other provider.
 If the network connection is poor, the client is able to retry the operation right where
it left off, saving your users’ time and bandwidth.

Fig 2: Firebase storage service

9
6. Remote Config
Firebase Remote Config is a cloud service that lets you change the behavior and
appearance of your app without requiring users to download an app update. When using
Remote Config, you create in-app default values that control the behavior and appearance
of your app. Then, you can later use the Firebase console to override in-app default values
for all app users or for segments of your userbase.

 Quickly roll out changes to your app’s userbase: change your app's layout or color
theme to support a seasonal promotion, with no need to publish an app update.
 Customize your app for segments of your userbase: use Remote Config to provide
variations on your app's user experience to different segments of your userbase by app
version, by Firebase Analytics audience, by language, and more.
 Run A/B tests to improve your app: use Remote Config random percentile targeting
with Firebase Analytics to A/B test improvements to your app across different
segments of your userbase so that you can validate improvements before rolling them
out to your entire userbase.

Fig 3: Remote config service of Firebase

10
7. Test Lab for Android
Firebase Test Lab for Android provides cloud-based infrastructure for testing Android
apps. With one operation, you can initiate testing of your app across a wide variety of
devices and device configurations. Test results—including logs, videos, and
screenshots—are made available in your project in the Firebase console. Test Lab can
exercise your app automatically, looking for crashes.
 Test on real devices
 Run app tests, even if you haven't written any
 Workflow integration
 Use Robo test to automatically exercise your app from the Firebase console or the
gcloud command line.
 Robo test captures logs, creates an "activity map" that shows a related set of
annotated screenshots, and creates a video from a sequence of screenshots to show
the simulated user operations that it performed.

8. Crash Reporting

Crash Reporting creates detailed reports of the errors in the app. Errors are grouped into
issues based on having similar stack traces, and triaged by the severity of impact on your
users. In addition to automatic reports, we can log custom events to help capture the steps
leading up to a crash. To report server-side errors, use Google Stackdriver Error
Reporting, which supports Node.js, Python, Go, Java, PHP, and Ruby errors.

 Monitor fatal and non-fatal errors


 Collect the data you need to diagnose problems
 Enable email alerts to receive frequent updates when new crashes are uncovered or
regressions are detected.
 Crash Reporting also integrates with Analytics to provide you with the list of events
that preceded a crash. This information helps to simplify debugging process
 Free and easy

Fig 4: Crash reporting feature of firebase

11
9. Dynamic Links
Firebase Dynamic Links are links that work the way we want, on multiple platforms, and
whether or not your app is already installed. With Dynamic Links users get the best
available experience for the platform they open your link on.
 If a user opens the same Dynamic Link in a desktop browser, they can be taken to the
equivalent content on your website. Dynamic Links work across app installs: if a user
opens a Dynamic Link on iOS or Android and doesn't have your app installed, the user
can be prompted to install it; then, after installation, app starts and can access the link.
 Create a Dynamic Link either by using the Firebase console, using a REST API, or by
forming a URL by adding Dynamic Link parameters to a domain specific to your app.
 When a user opens a Dynamic Links, if app isn't installed on the system, the user is
sent to the Play Store or App Store to install the app (unless you specify otherwise),
and after installation app opens. You can then retrieve the link that was passed to your
app and handle the link as appropriate for your app.

10. Firebase Invites


Firebase Invites are an out-of-the-box solution for app referrals and sharing via email or
SMS. To customize the invitation user experience, or to generate links programmatically,
use Firebase Dynamic Links, which ensures that recipients of links have the best
possible experience for their platform and the apps they have installed.
Firebase Invites handles the invitation flow for you, allowing you to deliver a
straightforward user experience without taking engineering time away from the rest of
your app.
Firebase Invites is built on Dynamic Links, invitations work across the App Store and
Play Store installation processes and ensure that recipients get the referral code or shared
content, whether or not they have your app installed.
 Firebase Invites can be sent over SMS or email.
 The share screen's contact list is populated from the user's Google Contacts and the
contacts stored locally on the device.
 The share screen recommends recipients based on the contacts the user communicates
with frequently.
 Customizable invitation message
 Provide custom images that will be used along with additional text and graphics from
the app's entry in the App Store or Play Store.
 Android users can send invitations without signing in to app.

12
11. Google AdWords
It simply means to reach potential customers with online ads. Drive installs, gain deep
insights into ad conversions, and run targeted ad campaigns using Firebase Analytics
audiences to engage your user base. When you link Firebase and AdWords, you get access
to powerful tools that help you see how your AdWords investment drives app installs and
in-app actions. With Firebase and AdWords, you can export audience lists to AdWords
and import events from Firebase Analytics into AdWords.
 When you link your AdWords account to a Firebase project, you can create mobile
app marketing lists based on Firebase Analytics audiences. By default, these audiences
include the following:

 Purchasers: Users who have purchased an app or made an in-app purchase.


 All users: Users who have installed your app.

 You can create audiences in Firebase using any combination of events and user
properties, and then use those audiences to run targeted ad campaigns. For example,
you can create an audience of "Android users who live in Canada", and then run ad
campaigns directed at the users included in this audience.
Lists based on Firebase Analytics data can only be used by Display Network campaigns.

12. Firebase App Indexing


Firebase App Indexing gets your app into Google Search. If users have an app installed,
they can launch the app and go directly to the content they're searching for. App Indexing
reengages the app users by helping them find both public and personal content right on
their device, even offering query auto-completions to help them more quickly find what
they need. If users don’t yet have an app, relevant queries trigger an install card for that
app in Search results.
 Search results
 Give users an easy path to installing your app to view content
 App Indexing on Android lets users see app content directly from suggested
results in the Google app
 App Indexing powers public content results for screen search on Android and
Google Assistant on Pixel and Allo
 If you use AdMob to monetize your app, App Indexing and AdMob will work
together to improve the quality of targeted ads for public content in your app,
helping to drive increased advertising revenue

The App Indexing API on Android enhances ranking performance for links to your app
and provides autocomplete suggestions based on user actions you log in your app. You
can also use the App Indexing API to create an on-device index of personal content. This

13
personal content is the user’s content, tied to their account or device. For example, in a
recipe app where users can add notes, the notes users add to the recipes are their personal
content. These recipe notes appear in the Google app when users search for them.

Fig 5: How App Indexing is done using Firebase

13. Firebase Notifications


Firebase Notifications is a free service that enables targeted user notifications for mobile
app developers.
Built on Firebase Cloud Messaging (FCM) and the FCM SDK, Firebase Notifications
provides an option for developers and organizations seeking a flexible notification
platform that requires minimal coding effort to get started, and a graphical console for
sending messages. Using the Notifications console GUI, you can reengage and retain your
userbase, foster app growth, and support marketing campaigns.
Key capabilities are:

 Notifications analytics: Analyze reengagement conversion with built-in notifications


analytics collection and funnel analysis.
 Versatile message targeting: Target clients in predefined user segments, custom
analytics audiences, clients subscribed to topics, and single devices.
 Flexible message scheduling: Deliver notifications (up to 2kb) immediately, or at a
future time in the client's local time

14
How does it work?
Use the Notifications console GUI to compose and send notifications to all supported
message targets. Firebase Cloud Messaging handles the routing and delivery to targeted
devices.

When your app is in the background on a user's device, notifications are delivered to the
system tray. When a user taps on the notification, the app launcher opens your app. If you
want, you can also add client message handling to receive notifications in your app when
it is already in the foreground on the user's device.

14. AdMob
AdMob by Google is an easy way to monetize mobile apps with targeted, in-app
advertising; it’s a mobile advertising platform that you can use to generate revenue from
your app. Using AdMob with Firebase Analytics provides you with additional app usage
data and analytics capabilities. Firebase integrates with AdMob without requiring
changes to your existing AdMob configuration.
 AdMob by Google helps you monetize your mobile app through in-app advertising.
Ads can be displayed as banner ads, interstitial ads, video ads, or native ads. On
Android, you can additionally display in-app purchase ads, which allow users to
purchase advertised products from within your app.
 It is firstly needed to create an AdMob account and activate one or more Ad Unit IDs.
This is a unique identifier for the places in your app where ads are displayed. If you
are already using AdMob in your app, all of your existing Ad Unit IDs continue to
work after you've added Firebase to your app.
 AdMob uses the Google Mobile Ads SDK. The Google Mobile Ads SDK helps app
developers gain insights about their users, drive more in-app purchases, and maximize
ad revenue.
 The default integration of the Mobile Ads SDK collects information such as device
information, publisher-provided location information, and general in-app purchase
information such as item purchase price and currency.

Key capabilities are:


a. Earn more from AdMob's in-app ads
b. Improve user experience
c. A free tool that enables you to cross-promote your apps to your userbase, across
your family of apps.
d. Access monetization reports

15
Firebase Pricing
Following chart shows the pricing details of using Firebase products and services:

Fig 6: pricing details about Firebase

16
PROJECTS MADE USING FIREBASE

1. Firepad: Firepad is an open source real-time collaborative text editor. It provides


true collaborative editing, complete with intelligent operational transform-based
merging and conflict resolution. Some features include:
 Cursor position synchronization
 Undo & redo
 Text highlighting
 User attribution
 Presence detection

Developers can build any application that requires collaborative editing of text
documents. Firepad supports both rich text and code editing out-of-the-box, and it's
easy to extend for other use cases.
Firepad can use either the CodeMirror editor or the Ace editor to render documents,
and its operational transform code borrows from ot.js. Behind the scenes, Firepad uses
the Firebase Realtime Database for cloud data storage and synchronization.

Fig 7: Firepad

17
2. Firechat: a realtime chat application. It is released under the MIT License.
Firechat is an open-source, real-time chat widget built on Firebase. It offers fully
secure multi-user, multi-room chat with flexible authentication. The core data
layer under Firechat uses Firebase for authentication, real-time data
synchronization, and data persistence. The default interface uses jQuery,
Underscore.js, and Bootstrap. Icons by Glyphicons. Build and compilation
managed with Grunt and code hosted by GitHub.

Fig 8: Firechat

3. GeoFire: a library that makes use of the Firebase realtime database, allowing app
developers to store and query a set of keys based on geographic location. GeoFire
is set of open-source libraries for JavaScript, Objective-C, and Java that allow you
to store and query a set of keys based on their geographic location.

Fig 9: GeoFire

18
FIREBASE AAPLICATIONS

Some companies that use Firebase are:

19
CONCLUSION

Firebase has proven to be a fantastic tool for such coders who refrain from delving
into the complexities of backend designing as Firebase clearly provides wonderful
tools, packages and APIs for iOS, Android, Xamrin, Java Script libraries and
Embedded JS which are operating system independent. Firebase is essentially a
real time database. The data appears as JSON files and allows real time changes
to occur on the connected client side. When developers build cross-platform apps
using iOS, Android, JavaScript SDKs, clients end up getting all the data that was
updated. The market for Firebase is extensively rising and offers fantastic jobs in
world class MNCs like Google, Twitter, Facebook, Erricson, Apple, PicCollage,
Asus, Wattpad, etc.

20
REFERENCES

 www.firebase.com/docs/ios-quickstart.html

 www.firebase.com/docs/writing-data.html

 www.firebase.com/docs/faq.html

 github.com/firebase/friendlypix

 firebase.google.com/support

 twitter.com/firebase

 github.com/firebase/friendlychat

21
HANDOUTS

22
23
24
25
26

S-ar putea să vă placă și