1

我已经开始将 Azure Mobile Center 用于 Xamarin.Forms 应用程序,用于 Android 部分。

我已添加所需的 Mobile Center SDK 调用,但在 Analytics 中仍然看不到任何内容。请注意,我可以正确构建和分发应用程序。

App.xams.cs 中的 App() 构造函数如下所示:

public App()
{            
     InitializeComponent();            
     MobileCenter.Start(typeof(Analytics), typeof(Crashes));
     MobileCenter.LogLevel = LogLevel.Verbose;
}

我还在 MainActivity.cs 的 OnCreate 事件中添加了配置调用

protected override void OnCreate(Bundle bundle)
{
     TabLayoutResource = Resource.Layout.tabs;
     ToolbarResource = Resource.Layout.toolbar;

     base.OnCreate(bundle);

     global::Xamarin.Forms.Forms.Init(this, bundle);
     MobileCenter.Configure("my_app_id");
     LoadApplication(new App(new AndroidInitializer()));
}

经过几次测试,Prism 似乎在某种程度上影响了 MobileCenter 类。没有调用 App() 构造函数,因此我将其添加到现有构造函数中:

public App(IPlatformInitializer initializer = null) : base(initializer) {
        MobileCenter.Start(typeof(Analytics), typeof(Crashes));
    }

但我收到“System.NullReferenceException:对象引用未设置为对象的实例”。似乎崩溃和分析未正确初始化。MobileCenter 是一个静态类,因此可能会影响其初始化。

任何帮助表示赞赏。谢谢,

4

3 回答 3

1

将调用移到 OnInitialized 方法中。

于 2017-01-25T15:29:16.457 回答
0

我在应用程序 Prism 中使用来实现 MVVM。我有一种预感,这可能会影响事情;我创建了一个新项目,没有使用 Prism,瞧……我可以看到 Analytics……终于!

问题在于 Prism 以何种方式影响 MobileCenter。我已经更新了原始问题。

于 2017-01-23T13:17:05.630 回答
0

就我而言,这是因为我只为共享项目安装了 Nuget 包(分析和崩溃)。为 iOS 项目安装它也修复了它。

于 2017-05-26T11:39:25.897 回答