Hi Guys, Today i'll be discussing how to use 
Firebase which is present as a 
Assistant in 
Android Studio 2.2.1 Preview.
As we know 
Firebase is a 
Cloud Services Provider which was acquired by 
Google back in 2014 in order to help developer build better real-time apps.
Now 
Firebase will be available as 
Assistant in 
Android Studio upcoming version which will help us easliy integrate following :
1. Analytics
2. Cloud Messaging
3. Authenication
4. Real time Database
5. Storage
6. Crash Reporting etc..
Now using 
Assistant present in 
Android Studio to use/integrate one the above services is quite easy and fast.
Here i'll be going through the steps to integrate 
Crash Reporting via 
Firebase in one of my demo app.
By 
Crash Reporting you can track all the crashes that occurs in your app and rectify once to get the report via 
Firebase.
So here are the steps :
1. Go to Tools and select 
Firebase.
2. You will see the 
Assistant opened in the right side in a tab named 
Assistant.
3. Now Scroll down and click on 
Crash Reporting
4. Click on Setup 
Firebase Crash reporting
5. Now  This will ask to to connect to 
Firebase.
6. Once you click on Connect it will take you to Browser and ask you to login via Google Account and will ask for permission.
7. After that Successful login you will be re-directed to 
Firebase Console and you can come back to 
Android Studio where it shows connected.
Note : This will automatically create your project inside google web console. Where make sure your 
Firebase Api is Enable for the project in case if you face
crash reporting problems.
8. Now you need to create a new 
Firebase project or select the existing 
Firebase Google project in which we wish to integrate 
Firebase.
Here you can create a new 
Firebase project.
After you select/create 
Firebase project and connect then it shows progress in 
Assistant like this :
Now once you are connected Assistance show you as connected as well.
After this we are all done setting up Firebase project and connection. Now Lets come to Coding part which is also a small part to do.
9. Now you need to add following 
Classpath into your 
buildscript dependencies
buildscript {
    // ...
    dependencies {
        // ...
        classpath 'com.google.gms:google-services:3.0.0'
    }
}
10. After that you need to add following dependencies in your app level build.gradle
android {
    // ...
}
dependencies {
    // ..
    compile 'com.google.firebase:firebase-ads:9.2.0'
}
// ADD THIS AT THE BOTTOM
apply plugin: 'com.google.gms.google-services'
Note : Make sure you are using the latest version of 
Firebase and 
Google play services here
11. Add following dependencies to app level build.gradle as well
    compile 'com.google.android.gms:play-services:9.2.0'
12. Now all is done. You can following code lines to track crashes
FirebaseCrash.logcat(Log.ERROR, TAG, "NPE caught");
FirebaseCrash.report(ex);
This Lines will send crash reports to cloud. And you can login to console and check the crash reports easliy there.
Note : Every crash is visible on console only after 20-25 minutes after it is reported.
In one of my demos i've created arithmetic exception to check the Firebase something like this :
try {
    
int i = 
10 / 
0;
}
catch (Exception e){
    FirebaseCrash.
logcat(Log.
ERROR, 
"Crash", 
"NPE caught");
    FirebaseCrash.
report(e);
}
Which reported the Crash to console which was available to check after 20-25 minutes.
Once Crash occurs 
Firebase service starts and sends the crash details up to cloud.
You can find the below log in you logcat when 
Firebase service runs successfully.
Logcat Details which ensures Firebase Sent the Report successfully :
D/FirebaseCrashApiImpl: throwable java.lang.ArithmeticException: divide by zero
I/FirebaseCrashReceiverServiceImpl: FirebaseCrashReceiverServiceImpl created by 
ClassLoader com.google.android.chimera.container.internal.DelegateLastPathClassLoader
[DexPathList[[zip file "/data/user/0/com.google.android.gms/app_chimera/m/00000005/
DynamiteModulesC_GmsCore_prodmnc_xxhdpi_release.apk"],nativeLibraryDirectories=
[/data/user/0/com.google.android.gms/app_chimera/m/00000005/n/armeabi-v7a,
/data/user/0/com.google.android.gms/app_chimera/m/00000005/n/armeabi,
/vendor/lib, /system/lib]]]
 com.youpackage:background_crash D/FirebaseCrashReceiverServiceImpl: onCreate
com.youpackage:background_crash I/DynamiteModule: Considering local module com.google.android.gms.flags:0 and remote module com.google.android.gms.flags:1
com.youpackage:background_crash I/DynamiteModule: Selected remote version of com.google.android.gms.flags, version >= 1
com.youpackage:background_crash D/FirebaseCrashReceiverServiceImpl: Saving crash
com.youpackage:background_crash I/FirebaseCrashSenderServiceImpl: FirebaseCrashSenderServiceImpl created by ClassLoader com.google.android.chimera.container.internal.DelegateLastPathClassLoader[DexPathList[[zip file "/data/user/0/com.google.android.gms/app_chimera/m/00000005/DynamiteModulesC_GmsCore_prodmnc_xxhdpi_release.apk"],nativeLibraryDirectories=[/data/user/0/com.google.android.gms/app_chimera/m/00000005/n/armeabi-v7a, /data/user/0/com.google.android.gms/app_chimera/m/00000005/n/armeabi, /vendor/lib, /system/lib]]]
D/FirebaseCrashSenderServiceImpl: Response code: 200
D/FirebaseCrashSenderServiceImpl: Report sent
You can check the Crash reports on Console by logging into https://console.firebase.google.com in crash reports will look like this
Cheers!!
References :
https://firebase.google.com/docs/android