The mysterious Error 10
I hope this article helps to clarify and find a solution quickly to the Error 10 using ionic 2 framewrok with firebase sign in and cordova-plugin-googleplus. I was developing an Ionic 2 application "quiz dev" to create a playful platform for developers to practice and improve their skill through quizzes, based on the spaced repetition approach. I wanted to provide the user the ability to sing in into the application using their google account.
The issue
The point is, that I've spend 2 or 3 days trying to figure out the error 10 I was receiving once I deployed to the Android Play Store. I followed the official documentation of Ionic https://ionicframework.com/docs/native/google-plus/
I installed the cordova-plugin-googleplus and implemented the plugin (I going to skip high level details, for more information refer to the documentation provided here)
this.googlePlus.login({ 'webClientId':'#############-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.apps.googleusercontent.com', 'offline': true }) .then(res => { //logged in ... }) .catch(err => { alert("There is an error " + JSON.stringify(err)); });
After that, I signed my debug.apk following the steps here, this is the google official documentation, then I get the SHA-1 fingerprint certificate that is going to be needed to setup the firebase project, you can do it via cmd following these steps. The result is going to be something like this:
I had set up a Firebase project, following the steps here https://chriztalk.com/ionic-2-firebase-google-authentication/
The headache
At this point installing the application in my device in release or debug mode, everything was working properly. Then I decided to deploy it to the google android app store. When installing the app from the android app store I wasn't unable to login with my google accounts, the previous code to handle the google sign in was entering in the catch section and showing an alert with error 10
.catch(err => { alert("There is an error " + JSON.stringify(err)); });
The solution
After spending hours and hours trying to figure out what the issue was, I realize that there is an option when you are setting up your application in the google app store that ask you if you want to sign your apk in the store. After you say yes it shows you a message like this:
the real solution is to go to Release Management/App signing section and get the SHA-1 fingerprint certificate and include it in your Firebase project
Go to your Firebase project configuration and add you SHA-1 fingerprint and it will do it
Final thought
I really hoe this save you a lot of time of banging your head against the wall.
Here is a demo of the app, you can from android to ios here. The is the application in the android app store in case you are interested https://play.google.com/store/apps/details?id=com.evolutionsys.quiz&hl=en