android获取固定uuid,稳定获取Android设备唯一代码(UUID)的解决方案
對于App云平臺系統,如何唯一標識移動設備非常重要. 否則,每次用戶在設備上卸載并重新安裝應用程序時,后端系統只能將用戶視為全新用戶.
在Android上識別設備的唯一性. 因為這個圓圈太亂了,所以設備本身的任何標識都不能直接用作設備的唯一標識. iOS受到系統強大限制的獨特認可. 目前,唯一可以部分滿足條件的部分是IDFA,但這要求您的App本身必須嵌入廣告.
當許多開發人員使用Jiguang Push時,他們有一個問題: Jiguang Push如何唯一地標識設備. 本文分析了Aurora Push如何盡可能唯一地標識設備.
Jiguang Push使用RegistrationID作為設備上安裝的App的標識. Aurora Push希望“盡可能”確保設備的唯一性,即使RegistrationID盡可能唯一.
關于RegistrationID,積光的正式文件具有以下定義:
啟動第一個應用程序后,將與JPush SDK集成的應用程序成功注冊到JPush服務器時,JPush服務器將把device-RegistrationID的唯一標識返回給客戶端. JPush SDK將以廣播的形式將RegistrationID發送到應用程序.
有了此標識,App編程可以將此RegistrationID保存到其自己的應用程序服務器,然后根據RegistrationID將消息或通知推送到設備.
如果未卸載該應用,則會直接覆蓋并安裝該應用,Android和iOS上的RegistrationID的值不會更改.
如果該應用已卸載然后再次安裝:
在Android上,由于中國存在大量假冒設備,因此無法使用可被視為唯一標識符的常規IMEI,Mac地址和AndroidID值,因為這些值可能在一批設備中相同的值.
Aurora的基本思想是:
生成DeviceID并將其保存到“設置”,“外部存儲”. 依靠本地存儲. 卸載并重新安裝應用程序后,這些存儲中的DeviceID仍然是同一設備. 這個理論上解決了90%的不變性問題. 在DeviceID之外添加補充規則: 根據IMEI,MAC地址,AndroidID的值全面判斷它是否是舊設備.
根據實際操作條件和收集的反饋不斷調整特定的邏輯細節. 大多數邏輯都可以在服務器端進行調整.
由于iOS系統設計限制了設備的唯一標識,因此Jiguang一直使用Device Token作為標識,并且因為Jiguang Push本身需要Device Token的值才能運行.
在iOS 9版本之后,每次卸載后重新安裝都會導致設備令牌更改,因此對于Jiguang后端,只能將其識別為新用戶.
新版的Jiguang SDK添加了IDFA選項. 集成并初始化SDK時,可以設置IDFA值,以便Jiguang背景會首先根據IDFA值識別用戶如何查設備碼,并在有可能的情況下在卸載后重新安裝該應用程序,還可以將其標識為舊設備.
IDFA是廣告標識符,由iOS專門設計,用于唯一標識用于廣告跟蹤的用戶. 在iOS設備上,設備->隱私->廣告頁面上有一個設置項: 限制廣告跟蹤. 默認未選中,即關閉狀態,沒有限制. 用戶可以選擇限制廣告跟蹤. 除了設置外,還有一個按鈕: 恢復廣告標識符...如果用戶單擊此按鈕,則IDFA值將更改.
默認情況下,廣告跟蹤沒有限制,并且可以采用IDFA值. 并且當用戶不單擊“還原廣告徽標”時如何查設備碼,此值將不會更改. 這樣就可以達到唯一識別設備并跟蹤用戶的目的.
但是,請注意,不一定要啟用IDFA. 它要求您的應用程序具有廣告功能,然后才能使用. 否則,Apple可能會在審核過程中發現并拒絕.
有關Apple App的IDFA要求,請參閱此處的說明:
由于在JPush SDK注冊完成后獲得了RegistrationID,因此在調用SDK API以獲得RegistrationID的值時需要注意. 它并不總是立即可用.
例如,在iOS上,建議在監視通知kJPFNetworkDidLoginNotification后獲取代碼中RegistrationID的值.
Android擁有寫設置的權限,該設置可以將數據寫到設置中,等效于用作永久存儲點. 外部存儲通常指的是SDCard,現在越來越多的手機直接與手機一起使用,就像iPhone一樣.
如果這兩點的數據都被破壞,則實際上不會通過本地DeviceID存儲確認為唯一設備. 但是,服務器還可以通過IMEI / AndroidID靈活地確認設備是否相同.
從上方復制
本文來自電腦雜談,轉載請注明本文網址:
http://www.pc-fly.com/a/ruanjian/article-288610-1.html
總結
以上是生活随笔為你收集整理的android获取固定uuid,稳定获取Android设备唯一代码(UUID)的解决方案的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 高阻态是0还是1_超实用买鞋指南!宽脚、
- 下一篇: 谁还不是个宝宝