我们通过Application Insights提供移动后端。使用Application Insights API时,我可以使用以下方法跟踪自定义数据
TrackPageView - 页面,屏幕,刀片或表格
TrackEvent - 用户操作和其他事件。用于跟踪用户行为或监控性能 TrackMetric - 性能测量,例如与特定事件无关的队列长度 TrackException - 记录诊断异常。跟踪它们与其他事件相关的位置并检查堆栈跟踪 TrackRequest - 记录服务器请求的频率和持续时间以进行性能分析 TrackTrace - 诊断日志消息。您还可以捕获第三方日志 TrackDependency - 记录对应用所依赖的外部组件的调用持续时间和频率。
哪种方式最适合使用后端记录移动设备的版本?
或者我应该使用这样的属性吗?
var client = new TelemetryClient();
client.InstrumentationKey = client.Context.Properties.Add("ApiClientVersion", versionNumber);
答案 0 :(得分:1)
您可能希望将该信息添加到AI发送的每个跟踪请求中。 为此,您需要一个TelemetryInitializer。
有一个样本here。
简而言之:您需要创建ITelemetryInitializer
的实现,将您的自定义信息添加到遥测上下文,然后您需要将遥测初始值设定项添加到TelemetryConfiguration
实例。
TelemetryConfiguration.Active.TelemetryInitializers.Add(
new YourCustomInformationTelemetryInitializer());
在YourCustomInformationTelemetryInitializer
中,您可以在Initialize
方法中添加信息,如下所示:
public void Initialize(Microsoft.ApplicationInsights.Channel.ITelemetry telemetry)
{
telemetry.Context.Properties["AppVersion"] = "1.2.3";
telemetry.Context.Properties["OtherSpecialInfo"] = "whatever;
}
无论您添加到遥测上下文属性,都将在Azure门户中显示。