我已经开始将Azure Mobile Center用于Xamarin.Forms应用程序,用于Android部分。
我添加了所需的移动中心 SDK 调用,但仍然无法在分析中看到任何内容。请注意,我可以正确构建和分发应用程序。
这就是 App.xams.cs 中的 App() 构造函数的样子:
public App()
{
InitializeComponent();
MobileCenter.Start(typeof(Analytics), typeof(Crashes));
MobileCenter.LogLevel = LogLevel.Verbose;
}
我还在 MainActivity 的 OnCreate 事件中添加了配置调用.cs
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:对象引用未设置为对象的实例"。崩溃和分析似乎未正确初始化。移动中心是一个静态类,所以这可能会影响它的初始化。
任何帮助,不胜感激。谢谢
将调用移动到 OnInitialized 方法中。
我在应用程序中使用棱镜来实现MVVM。我有一种预感,这可能会影响事情;我创建了一个新项目,不使用棱镜,瞧...我可以看到分析...最后!
问题是Prism以何种方式影响移动中心。我已经更新了原始问题。
就我而言,这是因为我只为共享项目安装了Nuget包(分析和崩溃)。为iOS项目安装它也修复了它。