c# - Xamarin.Forms 和 AppCenter:在 Android 设备的发布模式下未跟踪事件
问题描述
我开发了一个小型Xamarin.Forms.Shell 应用程序:此应用程序包含4 个选项卡,其中默认主页包含一些基本信息。
我正在使用AppCenter来跟踪一些事件,例如页面显示、用户点击、API 调用……
在App.xaml.cs
我指定了 2 种情况(调试/产品)来注册AppCenter:
protected override void OnStart()
{
// AppCenter
#if DEBUG
AppCenter.Start("ios=xxx;" +
"android=yyy;",
typeof(Analytics), typeof(Crashes));
#else
AppCenter.Start("ios=aaa;" +
"android=bbb;",
typeof(Analytics), typeof(Crashes));
#endif
}
然后,在HomePage 上 ViewModel
,我这样做:
public HomeViewModel()
{
_eventTracker = new AppCenterEventTracker();
//...
_eventTracker.Display("HomePage");
}
其中指的是:
public virtual void Display(string page, ICollection<KeyValuePair<string, string>> optionalParams = null)
{
var mainParams = new List<KeyValuePair<string, string>>
{
new KeyValuePair<string, string>(EventProperty.Page, page),
};
Analytics.TrackEvent(EventType.Display, BuildParameters(mainParams, optionalParams));
}
在通过另一个选项卡显示的NewsPage ViewModel
上,代码为:
public NewsViewModel()
{
_eventTracker = new AppCenterEventTracker();
//...
_eventTracker.Display("NewsPage");
}
这在iOS和Android的调试模式下效果很好:我可以在AppCenter中为所有页面(主页和其他页面,如NewsPage)检索此事件
但是,当应用程序以Release模式或通过AppCenter构建时, HomePage不是这种情况:我只为 iOS 检索此事件,而不为 Android 检索此事件。对于像NewsPage这样的其他页面,我没有遇到任何问题:显示很好地考虑到了......
所以我认为这个问题与我的应用程序中默认显示的选项卡有关:HomePage。
你能解释一下吗?
编辑:
感谢@Dmitriy Kirakosyan,我做了一些新的测试:我也看到在调试模式下,主页显示的事件不再被跟踪。在AppCenter中,我可以看到可以追溯到很久以前的痕迹,但不是最近几周。
这可能与包更新(Xamarin.Forms、AppCenter、...)有关,因为我没有更改 AppCenter 初始化或事件跟踪...
奇怪的是,我可以在主页显示跟踪之前很好地调用的调试模式下看到。AppCenter.Start()
但是,当我检查此跟踪的值AppCenter.Configured
或Analytics.IsEnabledAsync()
之前的值时,两者都有False
:
var test1 = AppCenter.Configured;
var test2 = Analytics.IsEnabledAsync().Result;
_eventTracker.Display(EventPage.HomePage);
解决方案
推荐阅读
- python - Secondary x axis labels
- mysql - MySQL 工作台在服务器上完成查询时保持运行状态
- mysql - mysql中用户的排名
- graphql - 通过 GraphQL - 产品上公共/私有元字段的 CRUD
- image-processing - 检测图像是否被过度压缩
- c - 尝试解决 Hackerrank 中的挑战(倒数第 M 个元素)
- python - ImportError:dlopen(/usr/local/lib/python3.9/site-packages/PyQt5/QtWidgets.abi3.so,2):找不到符号:_InitSignatureStrings
- list - 当他/她登录百里香叶视图页面时,我们如何打印特定用户的待办事项列表
- html - 是否可以根据 cookie 将用户重定向到不同的页面?
- reactjs - 当我使用 MobX 在 ReactJS 上发送 xmpp 消息时出现无限循环