Я программирую функцию внутри своего приложения, которая синхронизирует все избранные пользователи на Google Диске. Весь смысл этой функции заключается в том, что все устройства этого пользователя синхронизированы.Синхронизация файлов с Google Диском AppFolder с несколькими клиентами
Есть нечто, что хорошо знать:
- Это приложение тянет все фаворитов от Google Drive при запуске, сравнивает их с местными деликатесами. Если в папке Google Диска есть избранное, которого нет в локальном хранилище, этот фаворит добавляется в локальное хранилище и наоборот.
- Приложение использует API Google Диска.
Проблема с первым пунктом выше - это способ сравнения облачных и локальных хранилищ. Когда пользователь удаляет избранное, а соединение плохо, фаворит не удаляется на Google Диске. При запуске приложения тот же самый фаворит снова добавляется. Приложение не может быть запущено в автономном режиме, поэтому избранное нельзя отключить в автономном режиме.
Я думаю о способе сделать какой-то «журнал изменений», чтобы увидеть, что фаворит удаляется или добавляется, в котором содержится время, когда оно было добавлено/удалено, и somekind идентификатора устройства. (Я сейчас вслушиваюсь). Проблема в том, что файл изменений часто становится довольно большим при использовании приложения (каждое избранное и удаление записывается)
Проблема, с которой я столкнулась, - это не код , но способ синхронизации должен работать и проверять избранные. Я пробовал отправлять фаворитов на Google Диск, но это занимает много места (и не может быть легко отлажено).
Пожалуйста, подумайте вслух (в комментариях хаха), я не уверен, как бы я справился с этой задачей, и мне нужно, чтобы кто-то указал в правильном направлении.
Любые решения приветствуются.
Это реализация, которую я хотел использовать! Спасибо, но есть ли у вас идея идти в ногу со всеми изменениями? – tim687