選取合适的用戶标識對于提高用戶行為分析的準确性有非常大的影響,也是我們進行數據埋點時需要最優先考慮的問題。
因此,我們在進行任何數據接入之前,都應當先确定如何來标識用戶。
很多同學看到這可能會有點納悶,如何标識用戶?難道不是通過用戶的賬号id嗎?
你說得沒錯,不過用戶賬号是針對于有賬号體系的産品,而對于那些沒有賬号體系,例如官網、活動落地頁,或者需要分析遊客行為這樣的場景下,我們怎麼才能對不同的用戶進行标識呢?
我們很容易發現,任何用戶在獲取線上服務時,都需要通過設備。
所以,我們很自然地就會想到使用設備的一些信息來近似作為用戶标識。
那麼,設備的哪些信息可以作為用戶标識呢?
01如何獲取移動端設備唯一标識移動端主要的設備就是手機,我們這裡主要講如何獲得Android和iOS的設備id。
1.1 如何獲取Android設備的唯一标識首先我們來看下Android的設備信息。
可以看到,上述Android的設備信息中,UDID是最靠譜的,但是Android ID是最容易獲取到的。
所以,一般市場上的策略,會使用 UUID。
但是App 卸載重裝 UUID 會變,為了保證設備 ID 不變,可以把UUID寫入.so的文件,這樣即使重裝APP也不會改變。
還有一種策略是使用 Android Id 作為設備 ID,雖然刷機、重裝系統或恢複出廠設置會改變,但是一般用戶不會這麼操作。
1.2 如何獲取iOS設備的唯一标識iOS設備也有IMEI、MEID、MAC地址、UDID、UUID等設備信息,前幾個現在都禁止獲取了,而UUID是會變化的。
iOS也有一些獨有的設備信息。
所以總結起來,iOS好像沒有什麼靠譜的标記用戶的方法,别急,牛逼的程序員們總是能想出各種騷操作。
現在iOS一般标記用戶的方式是獲取每台設備的UUID,将其寫入keychain中進行固化,這樣即使用戶重裝APP,保存在keychain中的UUID也不會改變了。
02如何獲取web端和微信小程序的設備唯一标識說完移動設備的,我們再來看一下如何獲取web端和微信小程序的設備唯一标識。
web端其實也分為兩種訪問方式,PC端浏覽器和移動端浏覽器,但其實都是一樣的。
web端默認情況下使用 cookie_id,當用戶首次訪問網站時,我們會自動生成一串cookie數據,然後存貯在浏覽器的 cookie 中。
cookie的生成規則可以是五段不同含義的字段拼接而成來保證唯一性,其中包括兩段時間戳,一段屏幕寬高,一段随機數,一段 UA 值。
而微信小程序端,默認情況下使用 UUID,但是删除小程序,UUID 會變。
為了保證設備 ID 不變,建議獲取并使用 openID。
如果選擇使用 openid 的話,要注意将獲取到openid之前用戶的操作暫存。
因為獲取 openid 是一個異步的操作,而冷啟動事件等會先發生,這時候這個冷啟動事件還沒有獲取到openid。
所以我們需要把先發生的操作暫存起來,等獲取到 openid 後拼接好再發送數據。
03最後讓我們最後來總結一下Android、iOS、web和小程序是如何獲取設備唯一标識的:
1、Android有兩種方式,第一種是獲取UUID寫入.so文件固化成UDID,第二種是獲取Android id
2、iOS是獲取UUID,然後寫入keychain中進行保存,然後每次從keychain中取用戶标識
3、web一般是生成cookie并存在設備的浏覽器中
4、微信小程序,可以使用UUID,但是用戶删除小程序後會變化,建議使用openID。使用openID要注意冷啟動的時候,要暫存操作事件,獲取到openID後再上傳
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!