設置用戶id
本文描述了如何設置用戶id對於每個用戶,包括最佳實踐和重要做任何更改之前需要考慮的幾點因素。
用戶id應該為每個用戶設置。這些應該是不變的,當一個用戶打開應用程序訪問。從一開始就正確命名你的用戶id是最之一至關重要的設置用戶id時的步驟。我們強烈建議使用銅焊標準的uuid和guid(下麵詳細)。我們也強烈建議提供這個標識符,它將允許您:
如果這樣的一個標識符不可用,釺將對用戶分配一個惟一的標識符,但你會缺乏對用戶id列出的功能。你應該避免設置用戶id為用戶來說,你缺乏一個惟一的標識符,與他們作為一個個體。通過設備標識符提供任何好處和自動匿名用戶跟蹤釺默認提供。
如果你想要包括一個可識別的值作為用戶ID,我們額外的安全強烈推薦增加我們的SDK的身份驗證功能,防止用戶模擬。
你應該盡快打以下電話用戶標識登錄後(一般)設置用戶ID:
1
釺。changeUser(YOUR_USER_ID_STRING);
不叫changeUser ()
當一個用戶登錄。設置changeUser ()
靜態默認值會將所有用戶活動與默認的“用戶”,直到用戶再次登錄。
我們建議不要改變用戶ID當用戶注銷時,因為它讓你無法目標之前登錄的用戶重新參與活動。如果你預料到多個用戶在同一設備上,但隻希望目標其中之一當你的應用程序處於注銷狀態,我們建議單獨跟蹤用戶ID的目標而注銷和你想切換回該用戶ID作為應用程序的一部分的注銷過程。
指的是changeUser ()
文檔為更多的信息。
建議用戶ID的命名約定
在銅焊,我們強烈推薦命名用戶id,也稱為external_user_ids
,在一個uuid和guid格式。uuid和guid是全局唯一標識符,它由一個128位的數字在計算機係統用於識別信息。這意味著這些uuid,隨機和分布。如果你選擇一個不同的方法來命名您的用戶id,他們還必須很長,隨機和分布。同樣重要的是要注意,用戶id區分大小寫的。例如,“六邊形Abcdef”是一個不同的用戶從“六邊形Abcdef”。
如果你發現你的external_user_ids
包括姓名、電子郵件地址、時間戳或incrementors,我們建議使用一個新的命名方法更安全,這樣你的用戶id不容易猜測或模仿。如果你選擇這個包含在您的用戶id,我們強烈推薦增加我們的SDK的身份驗證功能,防止用戶模擬。
提供這些信息給其他人可能讓您的組織以外的人收集信息如何構建您的用戶id,開放組織潛在的惡意更新或刪除信息。從一開始就選擇正確的命名約定是最重要的一個步驟設置用戶id。然而,使用我們的遷移是可能的外部ID遷移端點。
用戶ID的命名 | |
---|---|
推薦 | 不推薦 |
123 e4567 - e89b 12 - d3 - a456 - 836199333115 | JonDoe829525552 |
83年nmas45 eks1 - 083 m - mk36 426655440000 | (電子郵件保護) |
mbfjla32 z - 937 - 09 - es - sbv6 - 064026245228 | CompanyName-1-2-19 |
k6twn923 - 8234 - 7354 - lzpd - 139317000652 | jon-doe-1-2-19 |
用戶ID集成最佳實踐和筆記
匿名用戶的自動保存曆史
識別上下文 | 保護行為 |
---|---|
用戶沒有之前確定的 | 匿名的曆史合並與用戶配置文件識別 |
用戶一直之前確定應用程序或通過API | 匿名的曆史不合並與用戶配置文件識別 |
額外的筆記和最佳實踐
請注意以下幾點:
- 如果你的應用程序是由多人使用,您可以為每個用戶分配一個惟一的標識符來跟蹤他們。
- 一旦一個用戶ID被設置,你無法回複用戶匿名概要文件
- 不改變用戶ID當用戶注銷,因為這可以從用戶配置文件單獨的設備。
- 作為一個結果,你不能目標之前注銷用戶關係重新啟動消息。如果你預料到多個用戶在同一設備上,但隻希望目標其中之一當你的應用程序處於注銷狀態,我們建議單獨跟蹤用戶ID的目標而注銷和你想切換回該用戶ID作為應用程序的一部分的注銷過程。默認情況下,隻有最後一個用戶,登錄將收到推送通知的應用程序。
- 從一個確定用戶切換到另一個是相對昂貴的操作。
- 當你請求用戶切換時,先前的當前會話用戶自動關閉,啟動一個新的會話。此外,釺會自動為應用內進行數據刷新請求消息和其他釺資源為新用戶。
如果你選擇使用一個惟一的標識符的散列值作為用戶ID照顧,確保規範的輸入你的散列函數。例如,如果你想使用一個電子郵件地址的哈希,確保你剝離前導和尾隨空白的輸入,並考慮本地化。
混疊的用戶
一個用戶別名作為另一個唯一的用戶標識符。使用別名來識別用戶在不同的尺寸比你的核心用戶ID:
- 為分析一致的標識符將跟隨給定用戶之前和之後都有登錄移動應用程序或網站。
- 添加第三方供應商所使用的標識符釺用戶為了更容易調和你的外部數據。
每個別名包括兩個部分:標識符的名稱本身,和一個標簽顯示的類型別名。用戶可以有多個別名與不同的標簽,但每個標簽隻有一個名字。
1
appboy。getUser()。addAlias(ALIAS_NAME,ALIAS_LABEL);