我已经开始使用Azure Mobile Center作为Android游戏的Xamarin.Forms应用程序。
我已添加了所需的Mobile Center SDK调用,但我仍无法在Google Analytics中看到任何内容。请注意,我可以正确构建和分发应用程序。
App.xams.cs中的App()构造函数如下所示:
public App()
{
InitializeComponent();
MobileCenter.Start(typeof(Analytics), typeof(Crashes));
MobileCenter.LogLevel = LogLevel.Verbose;
}
我还在MainActivity.cs的OnCreate事件中添加了configure调用
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:对象引用未设置为对象的实例。”似乎Crashes和Analytics没有正确初始化。 MobileCenter是一个静态类,所以这可能会影响它的初始化。
感谢任何帮助。 谢谢,
答案 0 :(得分:1)
将调用移动到OnInitialized方法。
答案 1 :(得分:0)
我在app Prism中使用它来实现MVVM。我有预感,这可能会影响事情;我创建了一个新项目,没有使用Prism,瞧......我终于可以看到Analytics了!
问题在于Prism以何种方式影响MobileCenter。我已经更新了原来的问题。
答案 2 :(得分:0)
就我而言,这是因为我只为共享项目安装了Nuget软件包(Analytics& Crashes)。为iOS项目安装它并修复它。