Fabric, Crashlytics, Answers and Digits for Xamarin.Forms, Xamarin.Android and Xamarin.iOS

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

<string name="com.crashlytics.android.build_id">e9e6beb9c4284289ac68b9ab76a9ee56</string>

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/

Posts

  • Bindings.FabricSdk.Services.Concurrency.UnmetDependencyException: com.crashlytics.android.core.CrashlyticsMissingDependencyException:

    This app relies on Crashlytics. Please sign up for access at https://fabric.io/sign_up,

    install an Android build tool and ask a team member to invite you to this app's organization.

    This is the error while executing the program

  • chairmanMalchairmanMal USMember ✭✭

    @MichaelMoreira - were you able to build using Xamarin Studio ? If so, how did you run the "build phase" script ? I have tried as "after Build" script and get the following output:

    2017-02-07 23:48:31.470 uploadDSYM[49589:5266722] Fabric.framework/run 1.6 (203)
    2017-02-07 23:48:31.475 uploadDSYM[49589:5266722] Launched uploader in validation mode
    error: Fabric: Failed to Detect Build Environment

    BUILT_PRODUCTS_DIR value not found in environment

  • MichelMoreiraMichelMoreira USMember ✭✭

    I upload the dSYM manually. I don't do the automated upload.

    Feel free to contribute that on https://github.com/drungrin/Fabric.Sdk.Xamarin so we can share with others.

  • chairmanMalchairmanMal USMember ✭✭

    @MichaelMoreira -Thanks. I didn't realize that is what that script was doing. If I figure out how to automate it in XS environment, I will surely post it. Is there something I need to know to be able to upload the dSYM manually ?

  • MichelMoreiraMichelMoreira USMember ✭✭

    Just get it on the bin folder and upload on fabric's web interface.

    https://docs.fabric.io/apple/crashlytics/missing-dsyms.html

  • MichelMoreiraMichelMoreira USMember ✭✭

    Just get it on the bin folder and upload on fabric's web interface.

    https://docs.fabric.io/apple/crashlytics/missing-dsyms.html

  • chairmanMalchairmanMal USMember ✭✭

    OK, I am trying to do this by the documentation says I should have an upload-symbols script. I don't in the Fabric.framework and Crashlytics.framework downloads. What I do have is an uploadDSYM executable (which seems to actually execute the "run" executable) which is not happy with any arguments I have provided.

  • chairmanMalchairmanMal USMember ✭✭

    @MichekMoreira - besides not finding an upload-symbols script, I am also having problems with the github and nugget downloads in that the initialization method calls you show added to AppDelegate.cs no longer seem to exist.

  • LyndonHugheyLyndonHughey USUniversity ✭✭✭

    @MichaelMoreno
    Mike, thanks for the great work you've done on these bindings. I have a performance question.

    I'm experiencing very slow performance when a caught error occur in my forms project containing your Fabric packages.

    I'm running very simple code that checks inside a list for the existence of a value and returns the value if present. If not, it sets a default value like so:

    `try
    {
        var boolVal = Convert.ToBoolean(SettingsDBList.FirstOrDefault(c => c.Name == "SetupTransactionAccountAdded").Value);
    
    SetupTransactionAccountAdded = boolVal;
    }
    catch
    {
        SetupTransactionAccountAdded = false;
    }`
    

    The SettingsDBList variable above is simply a list of a very simple class containing string properties. When running the code while Fabric is integrated, the code takes 28,391ms! However, it only takes 0.5934ms when I comment out the Crashlytics and Fabric initialization code in the AppDelegate. I'm initiating Crashlytics and the Fabric instance like you do in your Forms sample project.

    Its worth mentioning that I was previously using Mobile Center for crash reporting and analytics, but I've removed code the DLLs out of concern that multiple crash components were causing a negative interaction. I'm also using Azure MobileServiceSync tables.

    I will be refactoring my code to ensure that this error does not occur, but I have concerns about the peformance of the component within my app as captured errors can happen no matter how careful you are.

    Have you seen this happen before? Is there anything I can check for? Thanks.

  • batmacibatmaci DEMember ✭✭✭✭✭

    Does Crashlytics have option to send handles exceptions so we can report exceptions within try catch just like xamarin insight had? what is the easiest way to implement in an xamarin forms application today? is there a full guidance please?

  • JassimRahmaJassimRahma USMember ✭✭✭✭

    Do I need to be on test environment or I can still use this package for Distribution to track future crashes? and do i need to use XCode for that or it will show on a portal?

  • JesseLibertyJesseLiberty USInsider, University ✭✭✭

    Fabric says they don't support Xamarin. Is the above still viable? Also, there are links above to onboarding kits that no longer work... any suggestions on how to put together a working process?

    Thanks!!

Sign In or Register to comment.