我使用的应用程序使用了AppCenter,代码如下:
public App()
{
InitializeComponent();
VersionTracking.Track();
VersionChecks();
VersionChecks();
DB.CreateTables();
DB.GetSettings();
DB.PopulateTables();
SetDeviceInfo();
SetResourceColors();
SetResourceDimensions();
MainPage = new AppShell();
}
protected override void OnStart()
{
AppCenter.Start("xx", typeof(Crashes), typeof(Push));
Analytics.TrackEvent(VersionTracking.CurrentVersion);
}虽然我在启动时没有看到任何错误消息,但我担心这是如何编码的,因为我可以看到about首先触发,然后是OnStart()。
因此,如果发生这种情况,VersionTracking如何工作。这些代码应该不在OnStart中吗?我所拥有的设置应用程序的附加代码又如何呢?
希望人们能就AppCenter与Xamarin表单的使用提供任何建议。
发布于 2019-08-19 21:07:52
回答
是的,您可以在Xamarin.Essentials.VersionTracking的构造函数中使用App。
解释
您混淆了三个不同的SDK: Xamarin.Essentials、Xamarin.Forms和AppCenter。
VersionTracking是Xamarin.Essentials中的一个API。App是Xamarin.Forms.Application API的子类。AppCenter.Start是AppCenter中的API。这些是三个独立的SDK,每个SDK都可以独立使用。
发布于 2019-08-19 19:22:55
Xamarin.Forms应用程序启动流程类似于:Native App启动-> Xamarin.Forms.Application启动
只有在本机应用程序完成加载之后,应用程序类才会被实例化。
由于版本控制是由本地应用程序管理的,因此在构造函数中初始化VersionTracking没有问题,因为本机应用程序此时已经完全加载。
https://stackoverflow.com/questions/57562228
复制相似问题