Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Newsletter Hub
Free Learning
Arrow right icon
timer SALE ENDS IN
0 Days
:
00 Hours
:
00 Minutes
:
00 Seconds
Mastering Firebase for Android Development
Mastering Firebase for Android Development

Mastering Firebase for Android Development: Build real-time, scalable, and cloud-enabled Android apps with Firebase

eBook
NZ$39.99 NZ$57.99
Paperback
NZ$71.99
Subscription
Free Trial

What do you get with a Packt Subscription?

Free for first 7 days. $19.99 p/m after that. Cancel any time!
Product feature icon Unlimited ad-free access to the largest independent learning library in tech. Access this title and thousands more!
Product feature icon 50+ new titles added per month, including many first-to-market concepts and exclusive early access to books as they are being written.
Product feature icon Innovative learning tools, including AI book assistants, code context explainers, and text-to-speech.
Product feature icon Thousands of reference materials covering every tech concept you need to stay up to date.
Subscribe now
View plans & pricing
Table of content icon View table of contents Preview book icon Preview Book

Mastering Firebase for Android Development

Safe and Sound – Firebase Authentication

"A ship is always safe at the shore - but that is not what it is built for."
- Albert Einstein

The previous chapter was extensive practice in a different way that you can save data in the cloud. However, securing data is an essential process. In this chapter, we will explore Firebase Authentication, which is designed to build a secure authentication framework while enhancing the sign-in and onboarding experience for end users. It gives an end-to-end authentication solution, supporting email and passwords; telephone authentication; and Google, Twitter, Facebook, and GitHub login. FirebaseUI gives us an adaptable, open source, drop-in auth feature that handles the UI flows for signing in. The FirebaseUI Auth fulfills best practices for validation on mobile and web applications, which can improve sign-in and sign-up rates...

Firebase Authentication

Firebase helps you develop superb applications, grow your user base, and earn more money. As I mentioned in Chapter 1Keep it Real - Firebase Realtime Database, each feature works autonomously, and they work far better together.

Assorted applications and web services need to have some type of authentication framework while keeping in mind the end goal of recognizing users. Use cases include  controlling access to premium data and to preserve user information. Without some approach to distinguishing one user from another, it would be impossible for the application to know which information and settings have a place with which user.

Despite the inspiration for adding user authentication to an application, developers usually find that implementing authentication is substantially more intricate than it appears. Not exclusively should verification...

Setting up Firebase Authentication

As we learned in Chapter 1Keep it real – Firebase Realtime Database, we can make use of Android Studio to integrate Firebase, or we can follow the traditional way of integrating Firebase features through the console by adding configuration files and dependencies manually.

In this chapter, we will explore the complete features and potential of Firebase Authentication. We will later create a new Android project and add the Firebase SDK and authentication Gradle dependency. 

Add the following dependency to an already configured project. At the time of writing, Firebase authentication had a version 16.0.1. It may vary in your builds, but the components class names will remain same:

implementation 'com.google.firebase:firebase-auth:16.0.1'

Firebase Authentication can follow two methods of implementation, one...

FirebaseUI Email Authentication

Email ID is a unique user identity that helps in sending and routing emails and notifications to users. So far, we have learned what authentication is. In this section, we will explore it with the help of working code. We will use the FirebaseUI Auth API, in which we will extend the concepts to apprehend in social login, phone number verification, and so on.

Configuring for Email Authentication

The following steps illustrate what necessary actions are to be taken to integrate the Firebase Authentication:

  1. Create a new project with Empty Activity as the preferred template. In this project, we will explore social site integration and other authentication services. It is recommended...

Firebase SDK Email Authentication

Firebase Authentication for email credentials is one of the most simple and powerful onboarding features. To be able to make use of this facility, we need to enable the Email provider in the Firebase console. Using the Android Studio Firebase window, we can set up Firebase Authentication. Alternatively, we can add the configuration google-play-services.json file and dependencies manually. In your application level Gradle file, add the following dependency:

compile 'com.google.firebase:firebase-auth:11.8.0'

We need to declare an instance of the FirebaseAuth class, using which we can later get an access to the Firebase AuthResult object:

private FirebaseAuth mAuth;

We need to initialize the FirebaseAuth reference in the onCreate method, as shown here: 

mAuth = FirebaseAuth.getInstance();
...

FirebaseUI social networking site authentication

Popular social networking sites include Google+, Facebook, and Twitter, whereas GitHub is more for engineers and software developers. Firebase can work with popular Authentication providers and it also supports non-popular authentication providers. We will explore the popular authentication providers using FirebaseUI. All of these providers use email and password credentials to log in to their services to retrieve user-related information. This means we don't have to enter the sign-up form to account creation all the required information is retrieved from providers. FirebaseUI makes the whole process sweet and simple. Since we have the projects ready to work on Authentication, we will follow the necessary steps to complete them. 

...

Firebase SDK social networking site authentication

As we have understood that popular social networking sites are Google Plus, Facebook, and Twitter, whereas GitHub is more of engineers' and software developers' place. Firebase can work with popular Authentication providers, and it can also support the non-popular authentication providers. We will explore popular authentication providers using the Firebase SDK. 

Google sign-in 

Google authentication will use the instance of the GoogleSigninOptions class and also it needs a googleApiClient object. Using a builder pattern, we will construct the following code snippet that will be passed to googleApiClient later:

GoogleSignInOptions signInOptions...

Summary 

As we continue to explore the Firebase toolchain, Authentication turned out to be the biggest chapter. It is a practical chapter; we have seen how to work with different auth providers and we have experience in using the FirebaseUI library. We have explored how to create an account using an email address, phone number, Google, Facebook, and Twitter. We have learned to fetch the API key for different providers, and we also learned how to retrieve the SHA-1 fingerprint inside Android Studio. All the code snippets that we have seen in this chapter are Android community recommended code. We have extensively used the Firebase SDK and FirebaseUI to build most of the authentication use cases. Customizing the email address, we have also understood the Firebase console, managing users, and so on. Overall social networking and phone number login, anonymous login and linking...

Left arrow icon Right arrow icon
Download code icon Download Code

Key benefits

  • •Explore all the latest tools in Firebase—Firebase Firestore, ML-Kit, and Firebase Predictions
  • •Master Firebase cloud messaging, remote configuration, and work with a real-time database
  • •Make your app a global success with the help of Google Analytics and AdMob

Description

Firebase offers a wide spectrum of tools and services to help you develop high-quality apps in a short period of time. It also allows you to build web and mobile apps quickly without managing the infrastructure.Mastering Firebase for Android Development takes you through the complete toolchain of Firebase,including the latest tools announced in Google IO 2018 such as Firebase ML-Kit, FireStore, and Firebase Predictions. The book begins by teaching you to configure your development environment with Firebase and set up a different structure for a Firebase real-time database. As you make your way through the chapters, you’ll establish the authentication feature in Android and explore email and phone authentication for managing the on-boarding of users. You’ll be taken through topics on Firebase crash reporting, Firebase functions, Firebase Cloud, Firebase Hosting, and Cloud Messaging for push notifications and explore other key areas in depth. In the concluding chapters, you will learn to use Firebase Test Lab to test your application before using Firebase Performance Monitoring to trace performance setbacks. By the end of the book, you will be well equipped with the Firebase ecosystem, which will help you find solutions to your common application development challenges.

Who is this book for?

Mastering Firebase for Android Development is for individualslooking to extend their skills with Firebase and build faster, scalable, and real-time mobile applications. Basic understanding of Android programming is necessary. In all, this in-depth guide is an accessible pathway to mastering Firebase.

What you will learn

  • •Learn about Firebase push notifications and write backend functionalities
  • •Identify the root cause of an application crash and diagnose and fix bugs
  • •Store different Multipurpose Internet MailExtension(MIME) type files
  • •Explore web hosting and connect the Firebase functions to the host website
  • •Send push notifications and understand the deep integration of analytics tools and cohorts
  • •Market and monetize your application using Firebase Adwords and Admob
  • •Build a secure authentication framework while enhancing the sign-in and on-boarding experience for end users

Product Details

Country selected
Publication date, Length, Edition, Language, ISBN-13
Publication date : Jun 29, 2018
Length: 394 pages
Edition : 1st
Language : English
ISBN-13 : 9781788624718
Vendor :
Google
Category :
Languages :
Tools :

What do you get with a Packt Subscription?

Free for first 7 days. $19.99 p/m after that. Cancel any time!
Product feature icon Unlimited ad-free access to the largest independent learning library in tech. Access this title and thousands more!
Product feature icon 50+ new titles added per month, including many first-to-market concepts and exclusive early access to books as they are being written.
Product feature icon Innovative learning tools, including AI book assistants, code context explainers, and text-to-speech.
Product feature icon Thousands of reference materials covering every tech concept you need to stay up to date.
Subscribe now
View plans & pricing

Product Details

Publication date : Jun 29, 2018
Length: 394 pages
Edition : 1st
Language : English
ISBN-13 : 9781788624718
Vendor :
Google
Category :
Languages :
Tools :

Packt Subscriptions

See our plans and pricing
Modal Close icon
$19.99 billed monthly
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Simple pricing, no contract
$199.99 billed annually
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just NZ$7 each
Feature tick icon Exclusive print discounts
$279.99 billed in 18 months
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just NZ$7 each
Feature tick icon Exclusive print discounts

Frequently bought together


Stars icon
Total NZ$ 208.97
Mastering Firebase for Android Development
NZ$71.99
Android 9 Development Cookbook
NZ$64.99
Android Programming for Beginners
NZ$71.99
Total NZ$ 208.97 Stars icon

Table of Contents

16 Chapters
Keep It Real – Firebase Realtime Database Chevron down icon Chevron up icon
Safe and Sound – Firebase Authentication Chevron down icon Chevron up icon
Safe and Sound – Firebase Crashlytics Chevron down icon Chevron up icon
Genie in the Cloud – Firebase Cloud Functions Chevron down icon Chevron up icon
Arsenal for Your Files – Firebase Cloud Storage Chevron down icon Chevron up icon
Not Just a Keeper, Firebase Hosting Chevron down icon Chevron up icon
Inspection and Evaluation – Firebase Test Lab Chevron down icon Chevron up icon
A Smart Watchdog – Firebase Performance Monitoring Chevron down icon Chevron up icon
Application Usage Measuring and Notification, Firebase Analytics, and Cloud Messaging Chevron down icon Chevron up icon
Changing Your App – Firebase Remote Config and Dynamic Links Chevron down icon Chevron up icon
Bringing Everyone on the Same Page, Firebase Invites, and Firebase App Indexing Chevron down icon Chevron up icon
Making a Monetary Impact and Firebase AdMob and AdWords Chevron down icon Chevron up icon
Flexible NoSQL and Cloud Firestore Chevron down icon Chevron up icon
Analytics Data, Clairvoyant, Firebase Predictions Chevron down icon Chevron up icon
Training Your Code and ML Kit Chevron down icon Chevron up icon
Other Books You May Enjoy Chevron down icon Chevron up icon

Customer reviews

Rating distribution
Full star icon Full star icon Full star icon Half star icon Empty star icon 3.5
(2 Ratings)
5 star 50%
4 star 0%
3 star 0%
2 star 50%
1 star 0%
Mridul Chetia Jan 05, 2019
Full star icon Full star icon Full star icon Full star icon Full star icon 5
Complete package for start Firebase concepts. Good explanation and examples. Best for Android developers who have already know basics of java and Android app development.
Amazon Verified review Amazon
hol Nov 26, 2018
Full star icon Full star icon Empty star icon Empty star icon Empty star icon 2
examples are hard to follow. found better support in online documentation and youtube videos. layouts could be very baroque like in "creating an android application using real time database." I finally decided creating my own examples, to proof the point, and skipped the chapters.
Amazon Verified review Amazon
Get free access to Packt library with over 7500+ books and video courses for 7 days!
Start Free Trial

FAQs

What is included in a Packt subscription? Chevron down icon Chevron up icon

A subscription provides you with full access to view all Packt and licnesed content online, this includes exclusive access to Early Access titles. Depending on the tier chosen you can also earn credits and discounts to use for owning content

How can I cancel my subscription? Chevron down icon Chevron up icon

To cancel your subscription with us simply go to the account page - found in the top right of the page or at https://subscription.packtpub.com/my-account/subscription - From here you will see the ‘cancel subscription’ button in the grey box with your subscription information in.

What are credits? Chevron down icon Chevron up icon

Credits can be earned from reading 40 section of any title within the payment cycle - a month starting from the day of subscription payment. You also earn a Credit every month if you subscribe to our annual or 18 month plans. Credits can be used to buy books DRM free, the same way that you would pay for a book. Your credits can be found in the subscription homepage - subscription.packtpub.com - clicking on ‘the my’ library dropdown and selecting ‘credits’.

What happens if an Early Access Course is cancelled? Chevron down icon Chevron up icon

Projects are rarely cancelled, but sometimes it's unavoidable. If an Early Access course is cancelled or excessively delayed, you can exchange your purchase for another course. For further details, please contact us here.

Where can I send feedback about an Early Access title? Chevron down icon Chevron up icon

If you have any feedback about the product you're reading, or Early Access in general, then please fill out a contact form here and we'll make sure the feedback gets to the right team. 

Can I download the code files for Early Access titles? Chevron down icon Chevron up icon

We try to ensure that all books in Early Access have code available to use, download, and fork on GitHub. This helps us be more agile in the development of the book, and helps keep the often changing code base of new versions and new technologies as up to date as possible. Unfortunately, however, there will be rare cases when it is not possible for us to have downloadable code samples available until publication.

When we publish the book, the code files will also be available to download from the Packt website.

How accurate is the publication date? Chevron down icon Chevron up icon

The publication date is as accurate as we can be at any point in the project. Unfortunately, delays can happen. Often those delays are out of our control, such as changes to the technology code base or delays in the tech release. We do our best to give you an accurate estimate of the publication date at any given time, and as more chapters are delivered, the more accurate the delivery date will become.

How will I know when new chapters are ready? Chevron down icon Chevron up icon

We'll let you know every time there has been an update to a course that you've bought in Early Access. You'll get an email to let you know there has been a new chapter, or a change to a previous chapter. The new chapters are automatically added to your account, so you can also check back there any time you're ready and download or read them online.

I am a Packt subscriber, do I get Early Access? Chevron down icon Chevron up icon

Yes, all Early Access content is fully available through your subscription. You will need to have a paid for or active trial subscription in order to access all titles.

How is Early Access delivered? Chevron down icon Chevron up icon

Early Access is currently only available as a PDF or through our online reader. As we make changes or add new chapters, the files in your Packt account will be updated so you can download them again or view them online immediately.

How do I buy Early Access content? Chevron down icon Chevron up icon

Early Access is a way of us getting our content to you quicker, but the method of buying the Early Access course is still the same. Just find the course you want to buy, go through the check-out steps, and you’ll get a confirmation email from us with information and a link to the relevant Early Access courses.

What is Early Access? Chevron down icon Chevron up icon

Keeping up to date with the latest technology is difficult; new versions, new frameworks, new techniques. This feature gives you a head-start to our content, as it's being created. With Early Access you'll receive each chapter as it's written, and get regular updates throughout the product's development, as well as the final course as soon as it's ready.We created Early Access as a means of giving you the information you need, as soon as it's available. As we go through the process of developing a course, 99% of it can be ready but we can't publish until that last 1% falls in to place. Early Access helps to unlock the potential of our content early, to help you start your learning when you need it most. You not only get access to every chapter as it's delivered, edited, and updated, but you'll also get the finalized, DRM-free product to download in any format you want when it's published. As a member of Packt, you'll also be eligible for our exclusive offers, including a free course every day, and discounts on new and popular titles.