C# 如何将Firebase.Crashlytics集成到我的Xamarin.Forms项目中

C# 如何将Firebase.Crashlytics集成到我的Xamarin.Forms项目中,c#,xamarin.forms,xamarin.ios,crashlytics,C#,Xamarin.forms,Xamarin.ios,Crashlytics,有人能帮我在iOS的Xamarin.Forms项目上集成Firebase.Crashlytics吗。 我在安卓系统上工作得很好,但在iOS上我面临着一些问题。 请注意,我已在iOS上执行了以下步骤:- 将Xamarin.Firebase.iOS.Crashlytics Nuget包添加到我的iOS项目中 添加了GoogleService.plist文件 为iOS创建依赖项服务 添加了以下代码以初始化nuget:- Firebase.Core.App.Configure()

有人能帮我在iOS的Xamarin.Forms项目上集成Firebase.Crashlytics吗。 我在安卓系统上工作得很好,但在iOS上我面临着一些问题。 请注意,我已在iOS上执行了以下步骤:-

  • 将Xamarin.Firebase.iOS.Crashlytics Nuget包添加到我的iOS项目中

  • 添加了GoogleService.plist文件

  • 为iOS创建依赖项服务

  • 添加了以下代码以初始化nuget:-

             Firebase.Core.App.Configure();
             Crashlytics.Configure();
             Fabric.Fabric.SharedSdk.Debug = true;
             Crashlytics.SharedInstance.Crash();
    
  • 更新

    我已经完成了以下链接中的所有步骤:- 还是没什么用

    当我按照上面文章中所写的步骤进行操作时,我会遇到一些问题,即由于“Xamarin.build.Download”NuGet包,我无法构建我的项目。此外,我还面临无法将解决方案部署到模拟器的问题,因为它不允许我选择模拟器来运行应用程序


    任何帮助都将不胜感激。谢谢

    将Xamarin.Firebase.iOS.Crashlytics更新为版本

    在你的应用程序中,只需呼叫

    Firebase.Core.App.Configure();
    Firebase.Analytics.Analytics.LogEvent(Firebase.Analytics.EventNamesConstants.SelectContent, new Dictionary<object, object> {
        { Firebase.Analytics.ParameterNamesConstants.ItemId, "hokisit-ios" },
        { Firebase.Analytics.ParameterNamesConstants.ItemName, "Hokisit iOS" }
    });
    
    Firebase.Core.App.Configure();
    Firebase.Analytics.Analytics.LogEvent(Firebase.Analytics.EventNamesConstants.SelectContent,新字典{
    {Firebase.Analytics.ParameterNamesConstants.ItemId,“hokisit ios”},
    {Firebase.Analytics.ParameterNameConstants.ItemName,“Hokisit iOS”}
    });
    
    您确定仍要使用旧的结构实现吗? 您必须知道Fabric Crashlytics版本已被弃用,对吗

    我们所有人都收到了一封来自谷歌的邮件,告知:

    我们写信是想让您知道Fabric Crashlytics SDK现在已被弃用,并将继续报告您的应用程序崩溃,直到 2020年11月15日。在此日期之后,Fabric Crashlytics SDK和 Firebase Crashlytics SDK的测试版将停止发送崩溃消息 应用程序的报告。发生了什么? 我们正在用普遍可用的Firebase替换Fabric Crashlytics SDK和Firebase Crashlytics SDK的测试版 Crashlytics SDK,下一步是什么? 要继续在Firebase控制台中获取崩溃报告,请确保将应用升级到Firebase Crashlytics SDK版本 2020年11月15日之前,Android版本为17.0.0+,iOS版本为4.0.0+,Unity版本为6.15.0+

    因此,一切都将很快改变,您不应该再使用Fabric解决方案,尤其是在新项目中

    您可以在此处找到新的官方nuget软件包,但它仍在预览中:

    这是添加评论的官方存储库问题:

    添加此新包和google-services.json时,您需要在旧代码中更改以下内容:

    • 每个
      CrashLytics.CrashLytics
      引用将只是
      FirebaseCrashlytics
    • 无需初始化,您可以在任何地方获取
      FirebaseCrashlytics.Instance
    • 要记录异常,您需要使用
      RecordException
      方法,而不是旧的
      LogException
    • SetUserIdentifier
      更改为
      SetUserId
      ,并且
      SetUserName
      不再存在
    • 现在已经没有方法可以故意崩溃了,所以如果您想测试您的实现,现在您必须简单地抛出您想要的任何异常

    也许我遗漏了什么,但基本上就是这样。

    上次我检查(不久前)时,你无法使用
    Crashlytics
    获取C#stacktrace,错误报告非常隐晦,无法排除故障。你是否考虑使用App Center?你好克劳迪奥,谢谢回答OPS问题。如果无法获得堆栈跟踪,那么Crashlytics/iOS的用途是什么?它提供了什么?是否需要使用正确的配置文件对应用程序进行签名?当然,每个应用程序都应该使用正确的配置文件签名op询问如何使用crashlytics。您正在描述如何使用分析。根据官方指南,crashlytics已经与analyticsHi一起初始化,是否有任何教程介绍如何使用新的nuget?您只需要添加nuget并立即使用它。如果您想测试所有设置是否正常并正常工作,可以从try-catch块外部抛出异常,然后转到firebase控制台查看结果,但根据我的经验,可能需要一段时间才能看到记录的第一个异常。如果你想知道如何记录一些东西,你可以看看谷歌的官方指南。您可以使用此处描述的相同方法(如往常一样,更改案例后):