2013-02-28 68 views
2

據亂舞文檔,亂舞 - 如何快速檢測新用戶?

「新用戶

一個新的用戶使用你的應用程序誰剛剛起步的用戶。 用戶由唯一的電話的ID(其中因平臺而異),以 鑑定確保用戶實際上是一個獨特的新用戶,而不僅僅是重新安裝 。「

任何人都可以詳細說明"unique phone IDs (which vary by platform)"部分?

謝謝。

+0

http://en.wikipedia.org/wiki/International_Mobile_Station_Equipment_Identity 設備唯一ID是imei號碼,所有設備有所不同。 – Arnold 2013-02-28 08:10:17

+1

@Arnold:有時候很少有設備不會返回IMEI。例如平板電腦。 – 2013-02-28 08:16:58

回答

1

對於Android,唯一ID可能是以下之一:

  • 設備IMEI號碼(只適用於帶SIM卡插槽中的設備)
  • 藍牙/ WiFi的MAC地址(存在於大多數設備)
  • Secure.ANDROID_ID(技術上存在於所有的設備,但其已知在一些版本馬車)
0

你並不需要爲此做任何事情。

關於如何亂舞,我並不完全確定,但我想他們只是採取一些特定的信息設備,並創建一個自己的「亂碼」。

由於這些信息可能與平臺不同(Apple的每個示例可能需要長時間使用UDID),因此可以通過平臺實現。

3

僞唯一ID,適用於所有Android設備。 某些設備沒有電話(例如平板電腦)或出於某種原因您不想包含READ_PHONE_STATE權限。您仍然可以閱讀ROM版本,製造商名稱,CPU類型以及其他硬件詳細信息等詳細信息,如果您想要將該ID用於串行密鑰檢查或其他一般用途,該信息將非常適合。以這種方式計算的ID不會是唯一的:可以找到兩個具有相同ID的設備(基於相同的硬件和ROM映像),但實際應用中的可能性可以忽略不計。爲了這個目的,你可以使用生成類:

String m_szDevIDShort = "35" + //we make this look like a valid IMEI 
      Build.BOARD.length()%10+ Build.BRAND.length()%10 + 
      Build.CPU_ABI.length()%10 + Build.DEVICE.length()%10 + 
      Build.DISPLAY.length()%10 + Build.HOST.length()%10 + 
      Build.ID.length()%10 + Build.MANUFACTURER.length()%10 + 
      Build.MODEL.length()%10 + Build.PRODUCT.length()%10 + 
      Build.TAGS.length()%10 + Build.TYPE.length()%10 + 
      Build.USER.length()%10 ; //13 digits 

大多數生成成員都是字符串,我們在這裏做的是把它們的長度和改造它通過模中的一個數字。我們有13個這樣的數字,並且我們在前面(35)增加了兩個像IMEI(15位)一樣大小的ID。這裏還有其他的可能性,只要看看這些字符串。

返回類似於:355715565309247

無需特別許可,使得這種方法非常方便。