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
S$36.99 S$52.99
Paperback
S$66.99
Subscription
Free Trial

What do you get with Print?

Product feature icon Instant access to your digital copy whilst your Print order is Shipped
Product feature icon Paperback book shipped to your preferred address
Product feature icon Redeem a companion digital copy on all Print orders
Product feature icon Access this title in our online reader with advanced features
Product feature icon DRM FREE - Read whenever, wherever and however you want
OR
Modal Close icon
Payment Processing...
tick Completed

Shipping Address

Billing Address

Shipping Methods
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
Estimated delivery fee Deliver to Singapore

Standard delivery 10 - 13 business days

S$11.95

Premium delivery 5 - 8 business days

S$54.95
(Includes tracking information)

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 Print?

Product feature icon Instant access to your digital copy whilst your Print order is Shipped
Product feature icon Paperback book shipped to your preferred address
Product feature icon Redeem a companion digital copy on all Print orders
Product feature icon Access this title in our online reader with advanced features
Product feature icon DRM FREE - Read whenever, wherever and however you want
OR
Modal Close icon
Payment Processing...
tick Completed

Shipping Address

Billing Address

Shipping Methods
Estimated delivery fee Deliver to Singapore

Standard delivery 10 - 13 business days

S$11.95

Premium delivery 5 - 8 business days

S$54.95
(Includes tracking information)

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 S$6 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 S$6 each
Feature tick icon Exclusive print discounts

Frequently bought together


Stars icon
Total S$ 193.97
Mastering Firebase for Android Development
S$66.99
Android 9 Development Cookbook
S$59.99
Android Programming for Beginners
S$66.99
Total S$ 193.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 the digital copy I get with my Print order? Chevron down icon Chevron up icon

When you buy any Print edition of our Books, you can redeem (for free) the eBook edition of the Print Book you’ve purchased. This gives you instant access to your book when you make an order via PDF, EPUB or our online Reader experience.

What is the delivery time and cost of print book? Chevron down icon Chevron up icon

Shipping Details

USA:

'

Economy: Delivery to most addresses in the US within 10-15 business days

Premium: Trackable Delivery to most addresses in the US within 3-8 business days

UK:

Economy: Delivery to most addresses in the U.K. within 7-9 business days.
Shipments are not trackable

Premium: Trackable delivery to most addresses in the U.K. within 3-4 business days!
Add one extra business day for deliveries to Northern Ireland and Scottish Highlands and islands

EU:

Premium: Trackable delivery to most EU destinations within 4-9 business days.

Australia:

Economy: Can deliver to P. O. Boxes and private residences.
Trackable service with delivery to addresses in Australia only.
Delivery time ranges from 7-9 business days for VIC and 8-10 business days for Interstate metro
Delivery time is up to 15 business days for remote areas of WA, NT & QLD.

Premium: Delivery to addresses in Australia only
Trackable delivery to most P. O. Boxes and private residences in Australia within 4-5 days based on the distance to a destination following dispatch.

India:

Premium: Delivery to most Indian addresses within 5-6 business days

Rest of the World:

Premium: Countries in the American continent: Trackable delivery to most countries within 4-7 business days

Asia:

Premium: Delivery to most Asian addresses within 5-9 business days

Disclaimer:
All orders received before 5 PM U.K time would start printing from the next business day. So the estimated delivery times start from the next day as well. Orders received after 5 PM U.K time (in our internal systems) on a business day or anytime on the weekend will begin printing the second to next business day. For example, an order placed at 11 AM today will begin printing tomorrow, whereas an order placed at 9 PM tonight will begin printing the day after tomorrow.


Unfortunately, due to several restrictions, we are unable to ship to the following countries:

  1. Afghanistan
  2. American Samoa
  3. Belarus
  4. Brunei Darussalam
  5. Central African Republic
  6. The Democratic Republic of Congo
  7. Eritrea
  8. Guinea-bissau
  9. Iran
  10. Lebanon
  11. Libiya Arab Jamahriya
  12. Somalia
  13. Sudan
  14. Russian Federation
  15. Syrian Arab Republic
  16. Ukraine
  17. Venezuela
What is custom duty/charge? Chevron down icon Chevron up icon

Customs duty are charges levied on goods when they cross international borders. It is a tax that is imposed on imported goods. These duties are charged by special authorities and bodies created by local governments and are meant to protect local industries, economies, and businesses.

Do I have to pay customs charges for the print book order? Chevron down icon Chevron up icon

The orders shipped to the countries that are listed under EU27 will not bear custom charges. They are paid by Packt as part of the order.

List of EU27 countries: www.gov.uk/eu-eea:

A custom duty or localized taxes may be applicable on the shipment and would be charged by the recipient country outside of the EU27 which should be paid by the customer and these duties are not included in the shipping charges been charged on the order.

How do I know my custom duty charges? Chevron down icon Chevron up icon

The amount of duty payable varies greatly depending on the imported goods, the country of origin and several other factors like the total invoice amount or dimensions like weight, and other such criteria applicable in your country.

For example:

  • If you live in Mexico, and the declared value of your ordered items is over $ 50, for you to receive a package, you will have to pay additional import tax of 19% which will be $ 9.50 to the courier service.
  • Whereas if you live in Turkey, and the declared value of your ordered items is over € 22, for you to receive a package, you will have to pay additional import tax of 18% which will be € 3.96 to the courier service.
How can I cancel my order? Chevron down icon Chevron up icon

Cancellation Policy for Published Printed Books:

You can cancel any order within 1 hour of placing the order. Simply contact customercare@packt.com with your order details or payment transaction id. If your order has already started the shipment process, we will do our best to stop it. However, if it is already on the way to you then when you receive it, you can contact us at customercare@packt.com using the returns and refund process.

Please understand that Packt Publishing cannot provide refunds or cancel any order except for the cases described in our Return Policy (i.e. Packt Publishing agrees to replace your printed book because it arrives damaged or material defect in book), Packt Publishing will not accept returns.

What is your returns and refunds policy? Chevron down icon Chevron up icon

Return Policy:

We want you to be happy with your purchase from Packtpub.com. We will not hassle you with returning print books to us. If the print book you receive from us is incorrect, damaged, doesn't work or is unacceptably late, please contact Customer Relations Team on customercare@packt.com with the order number and issue details as explained below:

  1. If you ordered (eBook, Video or Print Book) incorrectly or accidentally, please contact Customer Relations Team on customercare@packt.com within one hour of placing the order and we will replace/refund you the item cost.
  2. Sadly, if your eBook or Video file is faulty or a fault occurs during the eBook or Video being made available to you, i.e. during download then you should contact Customer Relations Team within 14 days of purchase on customercare@packt.com who will be able to resolve this issue for you.
  3. You will have a choice of replacement or refund of the problem items.(damaged, defective or incorrect)
  4. Once Customer Care Team confirms that you will be refunded, you should receive the refund within 10 to 12 working days.
  5. If you are only requesting a refund of one book from a multiple order, then we will refund you the appropriate single item.
  6. Where the items were shipped under a free shipping offer, there will be no shipping costs to refund.

On the off chance your printed book arrives damaged, with book material defect, contact our Customer Relation Team on customercare@packt.com within 14 days of receipt of the book with appropriate evidence of damage and we will work with you to secure a replacement copy, if necessary. Please note that each printed book you order from us is individually made by Packt's professional book-printing partner which is on a print-on-demand basis.

What tax is charged? Chevron down icon Chevron up icon

Currently, no tax is charged on the purchase of any print book (subject to change based on the laws and regulations). A localized VAT fee is charged only to our European and UK customers on eBooks, Video and subscriptions that they buy. GST is charged to Indian customers for eBooks and video purchases.

What payment methods can I use? Chevron down icon Chevron up icon

You can pay with the following card types:

  1. Visa Debit
  2. Visa Credit
  3. MasterCard
  4. PayPal
What is the delivery time and cost of print books? Chevron down icon Chevron up icon

Shipping Details

USA:

'

Economy: Delivery to most addresses in the US within 10-15 business days

Premium: Trackable Delivery to most addresses in the US within 3-8 business days

UK:

Economy: Delivery to most addresses in the U.K. within 7-9 business days.
Shipments are not trackable

Premium: Trackable delivery to most addresses in the U.K. within 3-4 business days!
Add one extra business day for deliveries to Northern Ireland and Scottish Highlands and islands

EU:

Premium: Trackable delivery to most EU destinations within 4-9 business days.

Australia:

Economy: Can deliver to P. O. Boxes and private residences.
Trackable service with delivery to addresses in Australia only.
Delivery time ranges from 7-9 business days for VIC and 8-10 business days for Interstate metro
Delivery time is up to 15 business days for remote areas of WA, NT & QLD.

Premium: Delivery to addresses in Australia only
Trackable delivery to most P. O. Boxes and private residences in Australia within 4-5 days based on the distance to a destination following dispatch.

India:

Premium: Delivery to most Indian addresses within 5-6 business days

Rest of the World:

Premium: Countries in the American continent: Trackable delivery to most countries within 4-7 business days

Asia:

Premium: Delivery to most Asian addresses within 5-9 business days

Disclaimer:
All orders received before 5 PM U.K time would start printing from the next business day. So the estimated delivery times start from the next day as well. Orders received after 5 PM U.K time (in our internal systems) on a business day or anytime on the weekend will begin printing the second to next business day. For example, an order placed at 11 AM today will begin printing tomorrow, whereas an order placed at 9 PM tonight will begin printing the day after tomorrow.


Unfortunately, due to several restrictions, we are unable to ship to the following countries:

  1. Afghanistan
  2. American Samoa
  3. Belarus
  4. Brunei Darussalam
  5. Central African Republic
  6. The Democratic Republic of Congo
  7. Eritrea
  8. Guinea-bissau
  9. Iran
  10. Lebanon
  11. Libiya Arab Jamahriya
  12. Somalia
  13. Sudan
  14. Russian Federation
  15. Syrian Arab Republic
  16. Ukraine
  17. Venezuela