Googleplayservicescomponents: Nuget Package for Firebase Crashlytics?

Created on 17 Feb 2018  路  44Comments  路  Source: xamarin/GooglePlayServicesComponents

Is there, or there going to be support for Firebase Crashlytics (not to be confused with Firebase Crash Reporting). I'm not finding a Nuget package for Firebase Crashlytics nor can I find any reference to it in the GitHub repo. Since Firebase Crash Reporting is going to be deprecated in favor of Firebase Crashlytics, it would be nice if we can start using that.

Most helpful comment

We are VERY close to a preview release.

All 44 comments

Developers really need this since Firebase Crash Reporting will be retired on September 8th, 2018.

Is there any news anyone can give us around this ? It is a show stopper for an Enterprise development to use Firebase with Xamarin

Crashlytics for iOS appeared
We also hope for the appearance for Android

Yeah the iOS package is available : https://www.nuget.org/packages/Xamarin.Firebase.iOS.Crashlytics/
But I see no work or component at all on Xamarin's github repositories for Android. Anyone has more info?

When?

So the one that is out there now is not Crashlytics? Xamarin.Firebase.Crash? Can anyone confirm?

This one is for Firebase + Crashlytics. (iOS only) https://www.nuget.org/packages/Xamarin.Firebase.iOS.Crashlytics/ it was published recently.

Other packages (Xamarin.Firebase.Crash for example) were for Firebase Crash reporting, which is being phased out.

When are you planning Android?

I haven't found any informatiom from Xamarin about it.

@Redth Any information about when we can see this for Android?

When will it be available for Android?

Is this https://www.nuget.org/packages/Xamarin.Firebase.Crash?

No, that's for Firebase Crash Reporting. Firebase Crash Reporting is being deprecated in favor for Firebase Crashlytics.

Looking forward for the official release of Firebase Crashlytics for Xamarin.Android. Much needed for our application now.

Any further news on this from Xamarin?

We are VERY close to a preview release.

Hi @Redth, any news on this? The deadline (9th of September 2018) for this is inching closer.

Hello,

can we have an approximative date?
Thanks!

We are publishing previews of Play Services related components today (with the exception of a few). There is no preview yet available of crashlytics for Android, we are still working on that.

I'm also interested in a "how to" url for iOS... :)

@SharpMobileCode @lassana @hectorsuarezm @KIzotov @dupuisdavid @Springham Crashylitics for android is current await PR review -> https://github.com/xamarin/XamarinComponents/pull/428. it needs some fixes and some final changes and then it should be released.

Thanks for your patience

Hello,

The development seems to be finished, since the crashlytics-android branch has been deleted, but I can't find a nuget.
What is the current status?

Hey guys, is there a link available for this? We have this week to test and implement the new package. I'd say that's cutting it very fine.

Thanks @Redth!

Just a few notes about Crashlytics:

  1. You probably need to add not only Xamarin.Android.Crashlytics nuget but also Xamarin.Android.Crashlytics.Core.
  2. You probably need to send a test crash at first to get access to the Firebase Crashlytics console: Crashlytics.Crashlytics.Instance.Crash();
  3. To send a non-fatal exception use Crashlytics.LogException(Throwable). You can convert a managed Exception to Java Throwable using Java.Lang.Throwable.FromException.

I have done the following steps

  1. Added the following crashlytics packages from nuget: crashlytics.core,crashlytics,crashlytics.answers,crashlytics.beta,xamarin.android.fabric
  2. Linked app with fabric by copying the API key provided into manisfest.xml
    3.Initiated fabric as follows:Fabric.Fabric.With(this, new Crashlytics.Crashlytics());
  3. Rebuild the app and done a test crash
    Still not getting any logs in crashlytics. Also no apps are added into my fabric account
    No idea with what I am missing. Any help is greatly appreciated. Thanks in advance

@vys-25 same here

In my case, also no apps were added into my fabric account. But Firebase detected the crash without linking any fabric app. Maybe you have not correctly set up firebase in your xamarin project.
Did you get any other firebase features to work? (e.g. Fiebase Analytics)

@tranquvis Yes i have push notification working fine. Did you add io.fabric.ApiKey to your manifest ?

@tranquvis I have firebase analytics working fine. Is there any need to set up app in fabric account by using android studio fabric plugin?? Read some posts which specify that we first need to create app through android studio for linking the app and later change the build version for getting the service in xamarin.

I don't think you need anything related Fabric because it's Firebase Crashlytics. Make sure you've added com.crashlytics.android.build_id string resource.

@lassana Yes i also have com.crashlytics.android.build_id as 1 in my strings.xml

Finally got it working. No need for the api key in the manifest, and whats important is to add

Crashlytics.Crashlytics.HandleManagedExceptions();

Then it showed in my firebase console, without creating a new app in Fabric dashboard.

getting this build error,

error: package io.fabric.sdk.android.services.events does not exist
io.fabric.sdk.android.services.events.EventsStorageListener

looks like package name should be generated as mono.io.fabric.sdk.android.services.events.EventsStorageListener in EventsStorageListenerImplementor.java file

any suggestion? Thanks in advance

getting this build error,

error: package io.fabric.sdk.android.services.events does not exist
io.fabric.sdk.android.services.events.EventsStorageListener

looks like package name should be generated as mono.io.fabric.sdk.android.services.events.EventsStorageListener in EventsStorageListenerImplementor.java file

For some reason, dependencies are nor recognized correctly, so you must install directly these nugets as well:

  • Xamarin.Android.Crashlytics.Answers
  • Xamarin.Android.Crashlytics.Beta
  • Xamarin.Android.Crashlytics.Core
  • Xamarin.Android.Fabric

getting this build error,
error: package io.fabric.sdk.android.services.events does not exist
io.fabric.sdk.android.services.events.EventsStorageListener
looks like package name should be generated as mono.io.fabric.sdk.android.services.events.EventsStorageListener in EventsStorageListenerImplementor.java file

For some reason, dependencies are nor recognized correctly, so you must install directly these nugets as well:

  • Xamarin.Android.Crashlytics.Answers
  • Xamarin.Android.Crashlytics.Beta
  • Xamarin.Android.Crashlytics.Core
  • Xamarin.Android.Fabric

Adding Xamarin.Android.Crashlytics.Core manually worked for me. Thanks again

Hi,
I just noticed that the manifest of my resulting APK contains a provider with invalid authority:

  <application
    <provider
        name='com.crashlytics.android.CrashlyticsInitProvider'
        exported='false'
        authorities='dollar_openBracket_applicationId_closeBracket'
        initOrder='100'>

As a result, users are not able to install two different Xamarin.Android applications that use this Crashlytics package. Can anyone confirm this is an issue with the NuGet package?

I previously saw a similar problem when I was working on the Zendesk SDK bindings, and as far I know Xamarin still doesn't handle applicationId dynamic variable when parsing the app's manifest:

Hi,
I just noticed that the manifest of my resulting APK contains a provider with invalid authority:

  <application
    <provider
        name='com.crashlytics.android.CrashlyticsInitProvider'
        exported='false'
        authorities='dollar_openBracket_applicationId_closeBracket'
        initOrder='100'>

As a result, users are not able to install two different Xamarin.Android applications that use this Crashlytics package. Can anyone confirm this is an issue with the NuGet package?

I previously saw a similar problem when I was working on the Zendesk SDK bindings, and as far I know Xamarin still doesn't handle applicationId dynamic variable when parsing the app's manifest:

This has been resolved for next version. You can follow the instructions here to download the preview, or wait for the next release:

https://github.com/xamarin/XamarinComponents/issues/444

This is the only way that worked with me ... Please check this answer

Fabric Kits available to use with Xamarin:

Answers Crashlytics Digits For Xamarin.Forms, Xamarin.Android and Xamarin.iOS.

For iOS, you need to create a application with the same bundle id on XCode as the one on your Xamarin app. Then, use the Fabric Mac app to add your app and complete the Kits on-boarding process.

For Android, you need to create a application with the same package name on android studio as the one on your Xamarin app. Then, use the Fabric Mac app to add your app and complete the Kits on-boarding process.

After that, you can follow the instructions on https://www.fabric.io/kits to configure your projects.

For crashlytics on android, there is a hidden configuration, you need to add/update the build id using a string resource

e9e6beb9c4284289ac68b9ab76a9ee56

Or else you'll get a crash on startup.

There is a Sample available on Samples folder.

On iOS, Crashlytics shouldn't be used with Answers. Crashlytics includes Answers, so you should use either.

Code is available on https://github.com/drungrin/Fabric.Sdk.Xamarin

Nuget packages are also published:

https://www.nuget.org/packages/Fabric/ https://www.nuget.org/packages/Answers/ https://www.nuget.org/packages/Crashlytics/ https://www.nuget.org/packages/Digits/

getting this build error,
error: package io.fabric.sdk.android.services.events does not exist
io.fabric.sdk.android.services.events.EventsStorageListener
looks like package name should be generated as mono.io.fabric.sdk.android.services.events.EventsStorageListener in EventsStorageListenerImplementor.java file

For some reason, dependencies are nor recognized correctly, so you must install directly these nugets as well:

  • Xamarin.Android.Crashlytics.Answers
  • Xamarin.Android.Crashlytics.Beta
  • Xamarin.Android.Crashlytics.Core
  • Xamarin.Android.Fabric

That wasn't enough for me unfortunately. I had to add every package shown in the license acceptance dialog manually. The full list is as follows:

  • Xamarin.Android.Crashlytics
  • Xamarin.Android.Crashlytics.Answers
  • Xamarin.Android.Fabric
  • Xamarin.Android.Crashlytics.Beta
  • Xamarin.Firebase.Analytics
  • Xamarin.Firebase.Analytics.Impl
  • Xamarin.Firebase.Common
  • Xamarin.Firebase.Core
  • Xamarin.Firebase.Iid
  • Xamarin.GooglePlayServices.Basement
  • Xamarin.GooglePlayServices.Tasks

I then cleaned the solution, closed the solution, reopened it and rebuilt it and it worked. Not sure if the order of those last steps had any effect or not.

I hope will have Xamarin Forms packages too for Analytics and Crashlytics

  • Xamarin.Forms.Firebase.Crashlytics,
  • Xamarin.Forms.Firebase.Analytics
  • -
Was this page helpful?
0 / 5 - 0 ratings

Related issues

aoershov picture aoershov  路  5Comments

tallkid10 picture tallkid10  路  12Comments

Femilshajin picture Femilshajin  路  6Comments

jessejiang0214 picture jessejiang0214  路  13Comments

thisisthekap picture thisisthekap  路  12Comments