Firebase Google Sign-In With Jetpack Compose & Clean Architecture - Android Studio Tutorial

  Рет қаралды 77,331

Philipp Lackner

Philipp Lackner

Күн бұрын

In this video you'll learn how you learn how you can implement Google Sign-In with a Firebase backend in your Kotlin Android app.
⭐ Claim the limited 30% easter discount with EASTER30 during checkout ⭐
pl-coding.com/...
💻 Let me be your mentor and become an industry-ready Android developer in 10 weeks:
pl-coding.com/...
🎓Become an industry-ready developer in the Mobile Dev Campus:
pl-coding.com/...
🎁 Get my FREE 4.5h course "The Best Practice Guide to Android Architecture":
pl-coding.com/...
Read our weekly Android blog:
pl-coding.com/...
Join this channel to get access to perks:
/ @philipplackner
Get the source code for this video here:
github.com/phi...
Join my Discord server:
/ discord
Regular programming advice on my Instagram page: / _philipplackner_
Checkout my GitHub: github.com/phi...
You like my free content? Here you can buy me a coffee:
www.buymeacoff...

Пікірлер: 148
@adityagarud861
@adityagarud861 Жыл бұрын
This guy on KZbin is a life-saver.
@SpaceGuideHub
@SpaceGuideHub Жыл бұрын
Your assistance has significantly propelled me towards the launch date, particularly in figuring out Firebase Google Sign-In with Jetpack Compose, implying that I might very well invest in your CI/CD course.
@cristiancelis3410
@cristiancelis3410 6 ай бұрын
After watching many videos on how to connect firebase to kotlin with compose, u have saved me :D thx
@kylewhynott6146
@kylewhynott6146 10 ай бұрын
Thanks for the tutorial! I had to build something out more advanced for a project I'm working on, but it was a great tutorial for understanding how to do this with Kotlin and Jetpack Compose. Last time I wrote a major application it was still in Java with Activities, Fragments, and XML Layouts. Love all your videos.
@androidkotlin-6234
@androidkotlin-6234 Жыл бұрын
Do you know what? I'm developing my application, and just open youtobe for find how to auth with google firebase, and saw your video! You are amazing, white bro!
@kintanpatel6002
@kintanpatel6002 9 ай бұрын
Some method are deprecated and tell us to use Credential Manager, can we have updated video on Credential Manager?
@victorsokoluik4573
@victorsokoluik4573 Жыл бұрын
Thanks, Philipp! Yep, it took a lot of time to adapt your type of navigation to my app, but I did it, and now everything works as expected.
@chiragdhunna990
@chiragdhunna990 Жыл бұрын
Great video video, do make more tutorials like this it will definitely help the community grow!!
@TheZaurHasanov
@TheZaurHasanov Жыл бұрын
Omg you came back to Firebase again 😍 Thanks so much
@chips056
@chips056 Жыл бұрын
Great video, you never disappoint! Thank you for this one 😊
@pasdeal
@pasdeal Жыл бұрын
Im running Android Studio Giraffe | 2022.3.1 Patch 2 and to get the signingReport option to show at 6:37 you now need to CHECK the box "Configure all Gradle tasks during Gradle Sync" under the Experimental tab and then sync your project. Thanks for the guide 🥰
@supersanta4059
@supersanta4059 7 ай бұрын
OMG mate, you saved me right there. Thank you sooo much for that.
@user-Farooqzx
@user-Farooqzx 6 ай бұрын
Thank you
@johnpunzak8916
@johnpunzak8916 Жыл бұрын
Suggestion for a new video:. Could you take sign in further and make leaderboards for games? Google did not create a Kotlin version of their leaderboards yet. It would be great to see that. And thank you for your wonderful and amazing videos!!!😊
@germenwong
@germenwong Жыл бұрын
As always, wonderful and practical brother. You are really great and have taught me a lot. Please continue to create Compose, integrate Firebase, and Google's
@meetsoni1938
@meetsoni1938 Жыл бұрын
Thank you so much Philip.Your efforts are really Appreciated 🎉❤❤
@universe8989
@universe8989 Жыл бұрын
Oh my god I love your videos so much, keep making videos pls
@hussein9577
@hussein9577 Жыл бұрын
Great content, just as always
@Adam0001
@Adam0001 Жыл бұрын
I love it 😍 Thanks Mr.Philipp
@falcon1422
@falcon1422 Жыл бұрын
OMG how much i wish you posted this video a week ago😭😭😭
@matteoZattera
@matteoZattera 8 ай бұрын
12:12 BeginSignInRequest is now deprecated, we have to use Credential Manager instead
@eugenewainaina5626
@eugenewainaina5626 10 ай бұрын
I like how he blurred the project support email then in the confirmation part it was plain visible 😅 great video though, this is just what I needed
@HiltModuleImp
@HiltModuleImp Жыл бұрын
Lol, just got a task to do the same. Right in time))) Thx a lot Philipp
@kirwakelvinkering3122
@kirwakelvinkering3122 Жыл бұрын
Thank you so much for this Philip , ever grateful .
@BJKarlGeroniml
@BJKarlGeroniml Жыл бұрын
Please create biometric authentication using jetpack compose next. I really need it.
@brianblain3483
@brianblain3483 Жыл бұрын
Heads up! When selecting your email for google auth you covered it up but then at 8:22 you go back to the screen and your email is front and center
@arthurdamous
@arthurdamous Жыл бұрын
Yeah, i've noticed too. Hope no one tries to scam
@blaupunkt1221
@blaupunkt1221 9 ай бұрын
Hi Philipp! The latest 21.1.0 version of "com.google.android.gms:play-services-auth" deprecates most of your code. Apparently we are supposed to use the Jetpack CredentialManager instead now. Could you make a video about Firebase Google Sign-In using the CredentialManager? I had some difficulties with it. Thank you!
@tundedon
@tundedon Жыл бұрын
Just in time 🙏🏾🙏🏾
@Tsukikof
@Tsukikof 10 ай бұрын
Great job! Thanks a lot, it works perfectly. Can you make firebase sign in with email password also ?
@sijanneupane
@sijanneupane Жыл бұрын
not now! will be needing this next week!
@sijanneupane
@sijanneupane Жыл бұрын
done and dusted!
@spookyhades6231
@spookyhades6231 Жыл бұрын
Wow thanks a lot ... Idk how you manage to do it but every single time I just need help on a topic it just appears in a couple of days 😂
@PhilippLackner
@PhilippLackner Жыл бұрын
Hehe 😁
@4ytonly
@4ytonly Жыл бұрын
Is there any difference about fetching SHA in debug vs release versions of app???
@johnshepard1267
@johnshepard1267 Жыл бұрын
What if we have our own backend and auth system but we want to add a "quick" authorization/registration with Google - can we use the same approach? Will it be possible to somehow map the data of the google account to our account model and save on our servers or create an account with them? Cause I think we would want to also somehow manage users who registered with Google etc?
@sheikhbilalahmad2689
@sheikhbilalahmad2689 10 ай бұрын
Thank you! Philipp the goat
@pounes_ir
@pounes_ir 3 ай бұрын
thank you 💕💕💕💕💕💕
@mklmk-vjhbj
@mklmk-vjhbj 9 ай бұрын
'beginSignIn(BeginSignInRequest): Task' is deprecated. Deprecated in Java 💀💀💀
@shashankkumar7958
@shashankkumar7958 Жыл бұрын
Don't know if there is some issue with the code or the API itself but what I observe is when I cancel the google sign in bootom sheet 3-4 times consecutively, the sheet never appears again. Hey @Philipp can you look into this?
@13_adityasharma74
@13_adityasharma74 Жыл бұрын
it's a google play thing. If you cancel the login a few times it won't appear again for 24 hours or if it was triggered in an emulator u can just clear the google play data
@eduardoruesta5180
@eduardoruesta5180 10 ай бұрын
Cool!! what could be the difference if we want to do this example in a Compose Multiplatform project?
@walterdawidretzer465
@walterdawidretzer465 Жыл бұрын
Great Video, its helps me a lot!!!!!!!!!!
@matteoZattera
@matteoZattera 8 ай бұрын
Can you please make a video using Credential Manager APIs instead of One tap APIs (deprecated)?
@nicedoodly6392
@nicedoodly6392 4 ай бұрын
Thanks
@universal1755
@universal1755 Жыл бұрын
Thanks, It helped alot. ❤
@il_benza
@il_benza Жыл бұрын
Hei man, what is the "plugin theme" that you are using for your Android Studio?
@stijndcl
@stijndcl Жыл бұрын
You can see his theme at 6:16
@davidrichardroca5899
@davidrichardroca5899 Жыл бұрын
Really Thanks for this Great Tutorial. Can you do an other Tutorial of using this authentication to call an Google API like Photos by exemple please. With the Google Dev console settings Pleaaasseee 😊
@dogu0101
@dogu0101 Жыл бұрын
Hi Philipp. Do you have any content to show how to do it for twitter ?
@cse9193
@cse9193 8 ай бұрын
I am using mvi pattern in my project. Is it correct to send the userData object as a parameter to the profile screen?
@Leon-un2ii
@Leon-un2ii Жыл бұрын
Please make an UI lock screen with a PIN storage like many apps use it. Threema, Telegram, Signal etc. Thanks.
@Iraskate
@Iraskate Жыл бұрын
Great tutorial! One issue though, I am trying to save the user's email in the UserData class, but it returns null. Why is that?
@krishnamadke9085
@krishnamadke9085 Жыл бұрын
very nice explaination !
@serlok4688
@serlok4688 Жыл бұрын
Thank you Philip
@33t00p
@33t00p Жыл бұрын
Philipp, thanks for another awesome tutorial. I'm just wondering about LoginScreen always hanging there in the backStack as long as user does not log out. I haven't tried, but if I will want to pop the Backstack, I will always have to popBackStack(ScreenAfterLogin, inclusive=false) Otherwise when we get to LoginScreen, auth request is send to Firebase. So there is always this first (LoginScreen) in the backStack. Maybe it's better to put LoginScreen before calling AppComposable ?
@enriqif
@enriqif Жыл бұрын
Great video Philipp!! I have a problem with the functionality.. in the emulator works perfect but I my physic device, the bottom popup doesn't show... Did this happen to anyone?
@aissamelboudi1494
@aissamelboudi1494 Жыл бұрын
Hello philipp thank for all those videos, can u please lean us how control music in notifications pannel like spotify
@javimardeveloper
@javimardeveloper Жыл бұрын
Awesome video Phillip, will this be enough auth in order to use google drive API?
@kyleangelogonzales3989
@kyleangelogonzales3989 Жыл бұрын
Hey Philipp! Love your videos! I'm new to MVVM and Compose. Ive heard that it's not good to use context in viewModels so I would like to learn how to work around these scenarios. I also read that we should avoid using the AndroidViewModel class as it defeats the purpose of having a ViewModel in the first place. Could you make a video teaching us how to properly separate Android specific code from ViewModel's with MVVM and CLEAN practices? Given that a lot of the business logic lives in the ViewModel, how can we: 1. Use android resources 2. Make an object that requires an (activity?) context in response to a button click event 3. Get permissions from button clicks ? With compose and MVVM? 4. Launching an intent when a button is clicked I'm new to all of this, so a tutorial on this would really help me write cleaner and more robust code!
@MindBuilders
@MindBuilders Жыл бұрын
There's no problem using application context in the ViewModel. The reason why they say not to use context in ViewModels is because you don't want to leak a VIEW context. Application context exists through the duration of the app. That's what the purpose of the AndroidViewModel is, it takes in an Application so you can rely on Application context.
@vishnupriya9437
@vishnupriya9437 11 ай бұрын
Hi I have wordpress website I converted using android studio. Everything works fine except the Google login also wordpress signup. Can please help on this. Pls add video on this
@chiragredij1734
@chiragredij1734 Жыл бұрын
Hey philipp... So I used Compose and Dagger for it and it works completely fine but there is one issue!! I cant get it to display profile picture which is set... Im using FirebaseUser data class instead of custom class. Any idea why this might be happening?
@arthurmsiska3800
@arthurmsiska3800 Жыл бұрын
Could you do same OAuth sign in but with Supabase?
@kinohometv1985
@kinohometv1985 Жыл бұрын
Great, thanks 👍👍
@xanroid
@xanroid 8 ай бұрын
I now have thousands of users in my Firebase database who are authenticated using their Firebase Google Sign-in UID. Since this method is deprecated, how should we migrate to Credential Manager in this case while we keep the current users ids?
@slyene6202
@slyene6202 10 ай бұрын
Hi! What's the difference between LaunchedEffect key1 = true and key1 = Unit?
@PhilippLackner
@PhilippLackner 10 ай бұрын
No difference
@stijndcl
@stijndcl Жыл бұрын
How does all the coroutine logic in the MainActivity at the end translate to the compose-destinations package for navigation? Are you supposed to just run all of those in your LoginScreen composable instead?
@pico6051
@pico6051 Жыл бұрын
Found anything useful?
@imsosorrybro
@imsosorrybro Жыл бұрын
damn! thanks for content but why did you do that without layotu? I have an issue but cannot solve it because of it :(
@pico6051
@pico6051 Жыл бұрын
It doesn't look "Clean" putting so much logic in the MainActivity, is this really the best way to achieve it?
@John-qt6qk
@John-qt6qk Жыл бұрын
Thanks
@osisuper98
@osisuper98 Жыл бұрын
There is so much we writing outside the composable screens themselves now 🤔. Shit keeps changing.
@karthikeyan8670
@karthikeyan8670 8 ай бұрын
I have tried your code in my android Studio, but error is showing like this CompositionLocal LocalLifecycleOwner not present
@utusan_bapak
@utusan_bapak Жыл бұрын
How to periodically start workmanager to monitor the expired state? (Assumed successfully logged in) and the work manager is bound to activity level state
@AnandFromDelhi
@AnandFromDelhi Жыл бұрын
next video I would like to see would be Notes app using firebase
@chiragredij1734
@chiragredij1734 Жыл бұрын
Why not use Destinations Compose? Is it not mainstream yet?
@IlyaProk
@IlyaProk Жыл бұрын
what to do if the registration works on the emulator, but not on the protection of the phone. Yes, I gave access to the Internet in manifest . help pleas
@AmalShiwantha-n7b
@AmalShiwantha-n7b 7 ай бұрын
Can you share how to call Facebook login in compose
@thangnguyen8899
@thangnguyen8899 Жыл бұрын
Nice
@omarcode6245
@omarcode6245 Жыл бұрын
Hola phillip como estas gran tutorial, porque no manejaste la logica en el viewmodel como en todos tus videos
@dzikryhabibie6071
@dzikryhabibie6071 Жыл бұрын
Hello, i try to use the version control to build the app, but my application has a problem, the Google account pop up doesn't appear, what happened? What should I fix, can anyone help me?
@wcman007
@wcman007 8 ай бұрын
It's depricated please make a tutorial on the new way to sign in with google
@mr.chouhan_07
@mr.chouhan_07 Жыл бұрын
brother can u make video also for Facebook Sign-In
@balusekhar
@balusekhar Жыл бұрын
Need a tutorial on retrofit with jetpack compose
@sanjaybhatikar
@sanjaybhatikar Жыл бұрын
Didn't work with some cryptic error about missing feature in gms.
@P_Atticus
@P_Atticus Жыл бұрын
Can you implement it, but without jetpack?
@prarooptrivedi
@prarooptrivedi Жыл бұрын
can you provide same video for facebook sign in
@carlosmartinezsuarez3541
@carlosmartinezsuarez3541 Жыл бұрын
Hi! I can´t use the GoogleAuthUiClient() :( whyyy? Now is deprecated?
@thebhagwabilla
@thebhagwabilla 5 ай бұрын
i thought of integrating google signin but its too lengthy
@arthurkopytin9177
@arthurkopytin9177 Жыл бұрын
How to implement it without Compose?
@VasilisBitloops
@VasilisBitloops Жыл бұрын
Wouldn't it make sense to use an AuthenticationProvider interface with a Firebase concretion to be able to a) mock the provider and b) switch the provider to another one in the future?
@diaahelmy6889
@diaahelmy6889 Жыл бұрын
hi can you make app change location
@SuperSapna007
@SuperSapna007 10 ай бұрын
I tried with your code its not working and not throwing any error. :(
@superkobke
@superkobke Жыл бұрын
Damn, my SignIn button is not working!!!!
@ConspiracyCraftersStudio
@ConspiracyCraftersStudio 11 ай бұрын
you probably did onClick = {onSignInClick} and you should onClick = onSignInClick
@vahit·keskin
@vahit·keskin 11 ай бұрын
23:58
@JackSparrow-xd1vp
@JackSparrow-xd1vp Жыл бұрын
Can i get your course in udemy?
@trado-dev
@trado-dev Жыл бұрын
33:01
@meetsoni1938
@meetsoni1938 Жыл бұрын
Hey I am getting this error "unresolved reference: lifecycleScope"
@moisesvalera3597
@moisesvalera3597 Жыл бұрын
Use val coroutineScope = rememberCoroutineScope() instead
@meetsoni1938
@meetsoni1938 Жыл бұрын
@@moisesvalera3597 okay thanks 👍
@mdevelo
@mdevelo Жыл бұрын
Has anyone got this error "Caller not whitelisted to call this api"? I tried fixing it in so many ways but it didn't work. If someone has solution, please help me. Thank you!
@thecoderui
@thecoderui Жыл бұрын
How did you know that we are working these days to add this feature in our new app? 🤔 Impossible 😂
@jopadjr
@jopadjr Жыл бұрын
177th...Thanks Philipp. I'm looking at the bundle price and it is currently 359,00€. Is this in Euro?
@stijndcl
@stijndcl Жыл бұрын
There's a € sign so is that really a question?
@jopadjr
@jopadjr Жыл бұрын
@@stijndcl it is a question. Need to double check as there is a comma, Im not familiar with this currency. It might be in thousands. That is why Im asking
@stijndcl
@stijndcl Жыл бұрын
@@jopadjr if it would be thousands then there would be three zeroes, not two.
@jopadjr
@jopadjr Жыл бұрын
@@stijndcl Thanks. I actually checked it in the Australian dollar equivalent. And that comma is confusing as we only used it for thousands. No harm in asking
@BlackSpaceCreation
@BlackSpaceCreation 10 ай бұрын
Anyone else have problems with implementing this? I dont get the google sign in pop up
@efrainarreola7002
@efrainarreola7002 Жыл бұрын
Dagger hilt? 😢😢😢😢
@TechSciInfo
@TechSciInfo Жыл бұрын
firebase to android jetpack compose download pdf in app please make video ..
@ffggi-qv5ey
@ffggi-qv5ey Жыл бұрын
Why writing tests is such an abstract concept. Does noone write tests?
@PhilippLackner
@PhilippLackner Жыл бұрын
What has that to do with the video?
@adityagarud861
@adityagarud861 Жыл бұрын
First Comment
@dallasrieck7753
@dallasrieck7753 7 ай бұрын
share, not tutorial😉
@ahmadab9666
@ahmadab9666 Жыл бұрын
Firebase !!? you said from years ago you won't use firebase again :)
@PhilippLackner
@PhilippLackner Жыл бұрын
For database and storage :)
Cape Coral, Florida Fire Department rescues alligator stuck in storm drain
00:30
Last Person Hanging Wins $10,000
00:43
MrBeast
Рет қаралды 151 МЛН
MVVM vs. MVI - Understand the Difference Once and for All
18:40
Philipp Lackner
Рет қаралды 59 М.
Kotlin Multiplatform vs Flutter: Which should we use?
4:42
Kei Fujikawa
Рет қаралды 30 М.
How to Validate Forms with Clean Architecture (You're Doing it Wrong)
41:08
Implement Firebase Firestore in your app using Jetpack Compose
17:13
Daniel Atitienei
Рет қаралды 3,8 М.
ViewModels & Configuration Changes - Android Basics 2023
18:46
Philipp Lackner
Рет қаралды 146 М.
Cape Coral, Florida Fire Department rescues alligator stuck in storm drain
00:30