Мне нужно получить уникальный номер для каждого устройства для моего приложения Cordova (iOS / Android). Идентификатор должен быть таким же, когда пользователь закрывает приложение или устанавливает новую версию.
Я не могу использовать UUID из «плагина устройства Cordova», потому что UUID изменяется, когда пользователь обновляется до новой версии, поэтому для меня это не сработает.
Я попытался создать уникальный номер и сохранить его в телефоне. Однако я сталкиваюсь с проблемой, когда информация не сохраняется.
Это происходит, когда пользователь устанавливает приложение, а затем удаляет его из фона. В противном случае данные сохраняются
Любые идеи?
Вы можете использовать серийный номер телефона как уникальный идентификатор.
Одна из возможностей - использовать Кордова-плагин-облачные настройки, который позволяет сохранять пользовательские настройки в облачном хранилище между устройствами и установками.
Установите его:
cordova plugin add cordova-plugin-cloud-settings
Используйте его для хранения GUID:
var settings = {
GUID: 12345678
}
cordova.plugin.cloudsettings.save(settings);
Самое приятное в этом решении то, что оно не требует каких-либо специальных прав пользователя.
Если вам действительно нужен уникальный идентификатор устройства (а не уникальный идентификатор пользователя), вы можете использовать плагин UniqueDeviceID.
Однако обратите внимание, что на Android это использует идентификатор SIM-карты для получения идентификатора, например требуется разрешение READ_PHONE_STATE, который отображает запрос разрешений пользователя «Разрешить совершать телефонные звонки и управлять ими», что не очень хорошо для доверия ваших пользователей.
Используйте MAC-адрес:
cordova plugin add cordova-plugin-ip-mac-address
var params = {};
addressimpl.request("getMACAddress", JSON.stringify(params), function(message) {
alert("mac address "+message);
}, function() {
alert("failed on get mac address");
});
Спасибо, но метод серийного номера в плагине cordova-plugin-device "доступен только для платформ Android и OSX ... не для iOS ... Мне он нужен как для iOS, так и для Android. Есть ли другой вариант получить его для обеих платформ?