iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 22
0
Software Development

Azure Application Insights系列 第 22

Day - 22. 使用量分析(啟用)

啟用Azure Application Insights的使用者體驗,

可以讓我們透過一組產品使用量工具來監控並追蹤使用者

例如:

1.使用者、工作階段、事件

2.漏斗圖

3.保留

4.活頁簿

但是...如果我們需要追蹤使用者在一段時間內所做的行為,

Application Insights就必須需要有每個使用者或工作階段的識別碼!

包括每個自訂事件或頁面檢視畫面中的識別碼...

聽起來有點困難...但實行起來其實很簡單

之前我們不是有稍微提過使用者識別碼嗎?

只要我們照下列程式碼片段去實作ITelemetryInitializer即可

public void Initialize(ITelemetry telemetry)
{
    var requestTelemetry = telemetry as RequestTelemetry;
    telemetry.Context.User.Id = requestTelemetry.Context.User.Id;
    telemetry.Context.Session.Id = requestTelemetry.Context.User.Id;
}

https://ithelp.ithome.com.tw/upload/images/20191007/20103426wHThuhYs2p.png

接著只要註冊他就好了(雖然之前說過了...但是由於很重要所以再讓我多講幾遍)

services.AddSingleton<ITelemetryInitializer, MyCustomTelemetryInitializer>();

https://ithelp.ithome.com.tw/upload/images/20191007/20103426I3bJ0hT8Ez.png

接著只要發行到Azure就可以了

https://ithelp.ithome.com.tw/upload/images/20190927/20103426BIRXMf8bRy.png

https://ithelp.ithome.com.tw/upload/images/20190927/201034265mB3cbx6Lu.png

我們需要使用者識別碼應該在使用者工作階段期間持續存在

是因為需要用他來追蹤使用者在一段時間內的行為

謎之音:所以識別碼最好可以持續使用是嗎?

答:是的

謎之音:那麼要怎麼持續使用呢??

答:例如:

1.服務本身已經有使用者定義了

2.如果服務可存取瀏覽器,直接從Cookie取得即可

關於識別碼我們有以下兩點需要注意與了解:

1.識別碼通常是由Guid或複雜的字串組成,用來專門識別每個使用者

2.如果識別碼包含使用者的個人識別資訊,則最好不要傳送至Application Insights

我們可以傳送此類識別碼做為已驗證的使用者識別碼,但不符合使用案例的使用者識別碼需求


上一篇
Day - 21. 使用量分析(概觀)
下一篇
Day - 23. 使用量分析(使用者、工作階段以及事件分析)
系列文
Azure Application Insights30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言