编辑:
Xamarin.Insights 将在没有显式引用的情况下提供来自核心项目的异常报告,但如果您在核心项目中执行任何显式 Insights 报告调用,您将不理会该引用。
正如错误所示,Insights 确实改变了一段时间,以进行特定于平台的初始化。
如果添加对 Xamarin.iOS 和 Xamarin.Android 项目的引用,一旦将 Insights 初始化移动到每个特定于平台的启动中,事情应该会像以前一样工作。
下面是一个来自 Xamarin.iOS 项目的 App 类,它显示了 Xamarin.Insights 初始化:
public class App
{
private static void Main(string[] args)
{
// Initialize metrics and crash tracking.
Xamarin.Insights.Initialize(Forms.App.XamarinInsightsApiKey);
// Launch UI.
UIApplication.Main(args, null, "AppDelegate");
}
}
和 Xamarin.Android 版本:
[Application]
public class MainApplication : Application, Application.IActivityLifecycleCallbacks
{
#region Constructors
public MainApplication(IntPtr handle, JniHandleOwnership transer)
:base(handle, transer)
{
// Do not remove this work-around for a Xamarin linker issue related to SSL/TLS certificate trust. This line of
// code prevents the linker from stripping out AES capabilities needed but not obvious because they are accessed
// via reflection. Issue https://bugzilla.xamarin.com/show_bug.cgi?id=13998.
// ReSharper disable once UnusedVariable
var b = new System.Security.Cryptography.AesCryptoServiceProvider();
NotificationToken = null;
}
#endregion Constructors
#region Methods
public override void OnCreate()
{
base.OnCreate();
RegisterActivityLifecycleCallbacks(this);
// Initialize metrics and crash tracking.
Xamarin.Insights.Initialize(Forms.App.XamarinInsightsApiKey, ApplicationContext);
}