Есть ли программный способ получить уникальный идентификатор мобильного устройства? - PullRequest
2 голосов
/ 19 августа 2011

Мне нужен способ узнать уникальность для каждого пользователя, будь то для устройств iPhone, Android или Windows Phone.Если не существует универсального способа, мне было бы интересно, если бы сохранение телефонного номера было бы законным (то есть законным).

У кого-нибудь есть опыт в этом?

Ответы [ 7 ]

12 голосов
/ 19 августа 2011

Я не верю, что есть или может быть кроссплатформенный способ сделать это.Каждое устройство имеет свою собственную платформу SDK и API.

ОБНОВЛЕНИЕ: Небольшое исправление в моем предыдущем утверждении, поскольку оно выглядит так: PhoneGap может дать вам кросс-платформенный подход.

PhoneGap:

var deviceID = device.uuid;

См .: http://docs.phonegap.com/phonegap_device_device.md.html

Вот как это можно сделать на каждой платформе:

Android:

android.telephony.getDeviceId()

См .: http://developer.android.com/reference/android/telephony/TelephonyManager.html#getDeviceId%28%29

iPhone:

[[UIDevice currentDevice] uniqueIdentifier]

См .: http://developer.apple.com/library/ios/#documentation/uikit/reference/UIDevice_Class/Reference/UIDevice.html

Windows Phone 7:

DeviceExtendedProperties.GetValue("DeviceUniqueId")

См .: http://msdn.microsoft.com/en-us/library/ff941122%28v=VS.92%29.aspx

Ежевика:

FindDeviceForUserResult result=coreWebService.findDeviceForUser(userId, locale, true);
if (result.getFindDeviceForUserReturnStatus().getCode()!= FindDeviceForUserReturnStatusEnumType.SUCCESS)
{ 
       // handle any errors
}
if (result.getDevice() == null)
{ 
       // notify the user
}
int deviceID = result.getDevice().getDeviceId();

См .: http://docs.blackberry.com/en/developers/deliverables/7283/Find_BlackBerry_devices_628863_11.jsp

2 голосов
/ 19 августа 2011

если вас беспокоит только мобильные устройства, то есть нечто, называемое IMEI numner.который должен быть доступен.юридическое значение я не уверен.я думаю, если вы не слишком индивидуальны (привязываетесь к человеку), это не должно быть проблемой.

1 голос
/ 19 августа 2011

в Android вы можете получить это так

TelephonyManager telephonyManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
deviceid = telephonyManager.getDeviceId();
1 голос
/ 19 августа 2011

попробуйте получить номер IMEI.может быть, это будет полезно для вас.

Спасибо

0 голосов
/ 19 августа 2011

это то, как я делаю это для WindowsPhone

 void checkGuid()
    {
            object uniqueID;
            DeviceExtendedProperties.TryGetValue("DeviceUniqueId", out uniqueID);
            byte[] bID = (byte[])uniqueID;
            _clientID = Convert.ToBase64String(bID);
            Debug.WriteLine(_clientID);
            if (!IsolatedStorageSettings.ApplicationSettings.Contains("Guid"))
            {
                IsolatedStorageSettings.ApplicationSettings.Add("Guid", _clientID);
            }

    }

, чтобы сохранить свой номер телефона, насколько мне известно, что Microsoft автоматически предоставляет пользователю соглашение в ответ на обнаруженное им приложениенеобходимо использовать,

Вы можете предоставить пользователям какое-либо лицензионное соглашение при запуске приложения, которое запрашивает у них разрешение на использование их номера телефона

0 голосов
/ 19 августа 2011

для iPhone Вы найдете идентификатор мобильного устройства, используя следующий код в iPhone.

 NSString *uniqueIdentifier = [[UIDevice currentDevice] uniqueIdentifier];
 NSLog("UniqueIdentifier:-->%@",uniqueIdentifier);
0 голосов
/ 19 августа 2011

Я не могу говорить за iPhone или Windows Phone 7, но чтобы получить уникальный идентификатор телефона Android, я бы посоветовал взглянуть на этот пост:

Существует ли уникальное устройство AndroidID?

Как уже отмечалось, это не на 100% надежно.

...