Plugin.Firebase 抛出 NullReferenceException

问题描述 投票:0回答:1

在我的 .Net MAUI 应用程序中,我使用 Plugin.Firebase 将信息发送到 Google Analytics (GA4)。

这是代码:

    if (DeviceInfo.Platform == DevicePlatform.iOS || DeviceInfo.Platform == DevicePlatform.Android)
    {
        if (AgreeToAnalytics)
        {
            var sut = CrossFirebaseAnalytics.Current;

            sut.LogEvent(gaEvent, parameters);
        }
    }

对于 Android,调用 LogEvent() 会抛出异常:

Plugin.Firebase.Analytics.FirebaseAnalyticsImplementation.LogEvent(字符串 eventName, IDictionary`2 个参数)System.NullReferenceException: 未将对象引用设置为对象的实例。

这就是日志中的样子:

10-17 13:12:33.857 10916 10916 F mono-rt:[错误]致命未处理 异常:System.NullReferenceException:对象引用未设置为 对象的实例。 10-17 13:12:33.857 10916 10916 F 单声道 :
在 Plugin.Firebase.Analytics.FirebaseAnalyticsImplementation.LogEvent(字符串 eventName, IDictionary`2个参数)

我传递的参数不为空。 “eventName”是一个字符串,“parameters”包含一个键/值对,并且键和值都是不为空的字符串。

我向插件作者报告了一个问题(https://github.com/TobiasBuchholz/Plugin.Firebase/issues/203),但没有得到任何答复。

它过去曾经工作过,所以我想知道从 6 迁移到 .Net 7 是否与该问题有关......

android firebase google-analytics maui
1个回答
0
投票

第一

将应用程序从 6 迁移到 .Net 7

您可以参考这个示例:MAUI DotNet 7简单示例

第二个

Plugin.Firebase.Analytics.FirebaseAnalyticsImplementation.LogEvent(String eventName,IDictionary`2参数)System.NullReferenceException:未将对象引用设置为对象的实例。

您可以尝试将 Plugin.Firebase.Analytics 显式添加到您的 .csproj 文件中:

<ItemGroup> <PackageReference Include="Plugin.Firebase.Analytics" Version="2.0.1"/> </ItemGroup>

第三个

另外,还有一个issue(

Possible nullpointer)和你的情况一样,不过作者关闭了。你可以问他。

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.