Ionic provide you a framework to quickly implement with your web development skills a nice native application. Although, not everything is provided in the framework and if you want to get native features working with your application you will need to add some Cordova plugins to your project.
Once you know what Apache Cordova know you can find interesting the following project.
ngCordova gives you simple AngularJS wrappers for a massive amount of Cordova plugins. Check out the list below for all of the available plugins, and create an issue for a new request.
ngCordova provides wrappers for the Cordova plugins in order to be used in your AngularJS application. You can find all the documentation and examples of use of the Cordova compatible plugins.
The ngCordova project provides a full list of all compatible plugins and documentation and examples of use.
But while you are developing your Ionic app you aren't limited to this list of plugins. You can use any existing Cordova plugin and install it with the command line using the
ionic cordova plugin command.
Cordova plugins used in our Ionic app
cordova-plugin-calendar 4.5.5 "Calendar"
This plugin integrates the Calendar functionality of your device into your app. In our case, we use it to send the tasks in the todos lists to the calendar in order to manage Calendar appointments with the list item information like title, description and due date. For sure you can send it to the calendar even it doesn't have set a due date, but when you are creating the event in the calendar you should set it manually. To enable in the app the send to calendar feature you have to set in the setup the Pro configuration.
Install the plugin with the following command
cordova-plugin-crosswalk-webview 2.3.0 "Crosswalk WebView Engine"
cordova-plugin-googleplus 5.1.1 "Google SignIn"
We wanted to include an standard Google login to make easy the procedure of sign-up for the potential users. Firebase provides a social login integration but, as you are developing an Android app you want to be nicely integrated with the device, so if you want to integrate it wiht the existing accounts registered in the device you should install this plugin. Despite the use of the googleplus term in the plugin name it will login with your Google account even if you're not in the failed social network of Google. The plugin has a good documentation about how to install and use it and how to get the key needed for the Google Authentication API. But, as we are using Firebase we can use it to require the API key directly from the Firebase Console instead of create it manually as the documentation of the plugin explains.
Add another app to your Firebase project
Choose the Android app option
You have to access your Firebase Console Dashboard, and once inside the project, you can add another application. In this case you should specify the Android option.
Create the android package name, application alias and add a SHA-1 debug key
Then, the next step requires you to register your Android application by setting its package name and alias. This package name is very important because you need to write it in the config.xml file located in the root folder of your project. You should change the attribute id in the widget element of the config.xml element.
Change the id attribute from the widget element to your package name.
It also asks you to set an SHA-1 debug key, needed in the case of the use of the authentication API. In order to get this SHA-1 key you need to generate it. In this link Google provides a guide of how to get it https://developers.google.com/drive/android/auth.
TL;DR If you have the keytool command installed you can get it by running this command pointing to your project keystore.
The SHA-1 key generated is the one you should specify in this Firebase dialog.
Install the plugin with the following command line.