Переключение на пользовательские UUID устройства становится настоящим кошмаром! Я надеюсь, что кто-то сталкивался с этим раньше и мог бы знать, как с этим справиться.
Предположим, что у пользователя есть приложение с набором данных из 500 000 (маленьких) записей, поэтому невозможно просто скопировать всю базу данных устройства и объединить их. Пользователь установил это приложение на:
- iPhone
- MacBook
- планшет Android.
При подключении к одной и той же физической сети каждое устройство может видеть друг друга и может инициировать синхронизацию.
Для достижения трехсторонней синхронизации данных (это не зависит от центрального сервера или подключения к Интернету).
- Каждое устройство хранит список изменений с отметкой времени.
- Каждое устройство знает, когда оно в последний раз синхронизировалось с каждым из двух других устройств.
- Когда устройство видит другое устройство, оно отправляет через все известные изменения с момента последнего обращения к этому устройству.
- Если обнаружено новое устройство, нет проблем, просто отправьте все введенные данные.
Проблема возникает, если пользователь создает резервную копию своего iphone или ipad и восстанавливает его на другом iphone или ipad. В этом сценарии мы получаем пользователя с двумя устройствами в локальной сети с одинаковым UUID. Обновления в конечном итоге (случайным образом) переходят на одно или другое идентично идентифицированное устройство.
Я знаю, что мы можем продолжать использовать уникальный идентификатор устройства, но я беспокоюсь о том, что произойдет, когда оно исчезнет!