Перейти к основному содержимому

Синхронизация через Яндекс Диск

Синхронизация через Яндекс Диск помогает перенести данные приложения между устройствами и сохранить актуальную облачную копию базы.

Функция работает вручную: вы сами выбираете, что сделать — загрузить данные с Яндекс Диска или выгрузить текущие данные приложения в облако.

Android / WEB → Яндекс Диск → Android / WEB

Что синхронизируется

В файл синхронизации попадает основная база приложения:

  • банки и карты;
  • категории и условия кэшбэка;
  • справочник MCC и банковские условия;
  • магазины;
  • группы магазинов и категорий;
  • история покупок;
  • фактические выплаты и траты;
  • пользовательские категории онлайн-справочника.

Благодаря этому можно настроить приложение на одном устройстве, выгрузить данные на Яндекс Диск, а затем загрузить их на другом устройстве.

Где хранятся данные

Данные сохраняются на вашем Яндекс Диске в папке резервных копий приложения.

Для синхронизации используются два файла:

sync/full_database.json
sync/sync_state.json

full_database.json содержит саму базу приложения.

sync_state.json содержит служебную информацию: дату обновления, размер базы, версию синхронизации, источник и контрольный hash. Это помогает понять, совпадает ли локальная версия с облачной.

Как работает Android-версия

В Android-версии доступна ручная синхронизация через Яндекс Диск.

Можно выполнить действия:

  • Синхронизировать — приложение проверит облачную версию и предложит действие, если найдены отличия;
  • Выгрузить на Яндекс Диск — текущие данные приложения станут облачной версией;
  • Загрузить с Яндекс Диска — данные из облака будут применены на устройстве.

Кнопка «Синхронизировать» — основной вариант для Android. Приложение проверяет данные на Яндекс Диске, сравнивает их с текущей базой и предлагает подходящее действие.

Если всё уже совпадает, ничего не изменится и лишние окна не появятся. Если данные отличаются, приложение предложит загрузить облачную версию или выгрузить текущую.

Ручная синхронизация через Яндекс Диск на Android

При загрузке приложение не просто заменяет всё вслепую. Оно использует обычную логику импорта: проверяет разделы, показывает найденные данные, обрабатывает совпадения и конфликты.

Что добавлено в WEB-версии

Теперь WEB-версия тоже может работать с теми же файлами синхронизации, что и Android.

В WEB-версии доступны явные действия:

  • Загрузить с Яндекс Диска;
  • Выгрузить на Яндекс Диск;
  • Состояние синхронизации;
  • Выйти из Яндекса.

Кнопка автоматической синхронизации в WEB-версии не используется, чтобы не было случайной перезаписи данных. Пользователь сам выбирает нужное действие.

Загрузка с Яндекс Диска в WEB

При загрузке WEB-версия скачивает облачный файл full_database.json и передаёт его в общий импорт приложения.

Это значит, что используется та же логика, что и при обычном импорте:

  • приложение определяет найденные разделы;
  • показывает окно подтверждения импорта;
  • проверяет совпадения;
  • обрабатывает конфликты банков, магазинов, истории покупок и выплат;
  • не выполняет простую скрытую замену базы без проверки.

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

Выгрузка из WEB на Яндекс Диск

При выгрузке WEB-версия собирает текущие данные приложения в файл базы и записывает их на Яндекс Диск.

После выгрузки обновляются:

sync/full_database.json
sync/sync_state.json

Текущие WEB-данные становятся новой облачной версией.

Перед выгрузкой рекомендуется убедиться, что именно WEB-версия содержит актуальные данные, потому что облачная база будет заменена.

Состояние синхронизации

В WEB-версии добавлена проверка состояния синхронизации.

Она ничего не меняет и нужна только для информации.

Проверка показывает:

  • совпадает ли локальная WEB-версия с облачной;
  • есть ли облачная база на Яндекс Диске;
  • когда она была обновлена;
  • загружена ли версия с этого устройства или с другого;
  • что лучше сделать дальше.

Если версии совпадают, ничего делать не нужно.

Если версии отличаются, приложение подскажет:

  • загрузить данные с Яндекс Диска, если актуальна облачная версия;
  • выгрузить данные на Яндекс Диск, если актуальны текущие WEB-данные.

Авторизация через Яндекс

Для работы синхронизации нужно подключить Яндекс Диск.

В WEB-версии используется отдельная авторизация через Яндекс OAuth. После входа приложение получает доступ к Яндекс Диску только для выполнения операций синхронизации.

Если авторизация устарела или доступ был отозван, можно нажать «Выйти из Яндекса», а затем подключить Яндекс Диск заново.

Чем синхронизация отличается от резервной копии

Резервная копия — это отдельный файл, который можно сохранить вручную и восстановить при необходимости.

Синхронизация через Яндекс Диск использует постоянные файлы:

sync/full_database.json
sync/sync_state.json

Они обновляются при выгрузке и используются для переноса данных между Android и WEB.

То есть резервная копия больше подходит для хранения отдельных архивных файлов, а синхронизация — для обмена актуальной версией между устройствами.

Рекомендации

Перед первым использованием лучше сделать обычную резервную копию.

Если вы настроили приложение на Android и хотите перенести данные в WEB:

  1. На Android нажмите «Выгрузить на Яндекс Диск».
  2. Откройте WEB-версию.
  3. Нажмите «Загрузить с Яндекс Диска».
  4. Проверьте данные после импорта.

Если вы изменили данные в WEB и хотите перенести их обратно:

  1. Убедитесь, что WEB-версия содержит актуальные данные.
  2. Нажмите «Выгрузить на Яндекс Диск».
  3. На Android загрузите данные с Яндекс Диска.

Что важно помнить

  • синхронизация запускается пользователем вручную;
  • перед первой синхронизацией лучше сделать резервную копию;
  • при выгрузке текущая облачная версия будет заменена;
  • при загрузке данные проходят через общий импорт с проверками и конфликтами;
  • Android и WEB используют одни и те же файлы синхронизации;

Итог

Синхронизация через Яндекс Диск теперь работает не только на Android, но и в WEB-версии.

WEB-версия использует те же файлы, что и Android, поддерживает загрузку и выгрузку базы, показывает состояние синхронизации и применяет данные через общий импорт с проверками и конфликтами.

Это делает перенос данных между устройствами удобнее и безопаснее, при этом пользователь сам контролирует направление обмена.