Телефон изменили в Google, должность — в Apple, а фотография осталась в прежней версии. Простая перезапись одной книги другой скрывает, какая правка была осознанной. Двусторонний обмен требует правил для полей, конфликтов и удаления.
Разберём серверное внедрение: сначала проверены 923 связанные пары, затем отдельным согласованным пакетом обновлены существующие контакты и добавлены новые. Итоговая книга на 954 контакта — результат двух разных этапов, а не массовой очистки дублей.
Адресная книга
Правки в обе стороны по согласованным правилам
- 01Сделать снимки
- 02Связать карточки
- 03Разобрать правки
- 04Перечитать результат
- Приоритет удаления согласуется отдельно
- Ссылки в кейсе не переносятся
- Дополнение из почты — отдельный пакет
Сначала опишите состояние обеих книг
Посчитайте карточки, проверьте поддерживаемые поля, фотографии и существующие связи. Сохраните полные снимки до записи. Число контактов помогает контролировать объём, но не доказывает, что карточки соответствуют друг другу.
В рабочем проекте исходный обмен проверен на 923 парах и 83 фотографиях. Перед включением двустороннего режима сохранены снимки обеих книг и состояние связей; целостность резервной копии и её загрузка в облако проверены.
Сравнивайте изменения каждого поля
Изменение в Google сравнивается с предыдущей успешной версией Google-карточки, а изменение в Apple — с предыдущей Apple-карточкой. Так можно отличить новую правку от различий, которые существовали раньше.
В этом внедрении правка только в Google переносится в Apple, только в Apple — в Google. Правки разных полей объединяются. Если одно поле одновременно изменено по-разному, побеждает Apple. Имя обрабатывается одним блоком; фотография следует тому же правилу приоритета.
| Ситуация | Действие | Что проверить |
|---|---|---|
| Телефон изменён только в Google | Перенести в Apple | Остальные поля сохранить |
| Разные поля изменены с двух сторон | Объединить правки | Оба изменения остались |
| Одно поле изменено по-разному | Применить приоритет Apple | Правило согласовано заранее |
| Ссылка или социальный профиль | Оставить на своей стороне | Не потерять значение при другой правке |
Удаление — отдельная политика
«Двусторонний» не означает, что любое удаление автоматически повторяется во второй книге. Это решение владельца данных. Нужно определить, какая сторона считается основной и какие карточки защищены.
В подтверждённом сценарии удалённая Google-карточка восстанавливается из Apple. Удаление ранее связанной Apple-карточки удаляет Google-карточку только без ссылок; карточки со ссылками защищены и не импортируются обратно. Такие правила относятся к этому проекту, а не к стандартному поведению сервисов.
Ссылки и фотографии проверяются отдельно
Поддерживаемые поля могут иметь разные представления в двух книгах. Фотография в виде ссылки и встроенное изображение требуют отдельного сравнения; пережатие JPEG не обязательно означает новую пользовательскую правку.
Ссылки и социальные профили в нашем обмене остаются на своей стороне. Поэтому книги не объявляются полностью идентичными по всем полям. Контрольные карточки подтвердили сохранение разных ссылок, перенос фотографии и объединение правок без удаления исходных значений.
После частичного сбоя ищите уже созданную карточку
Если ответ на создание потерян, новая попытка может добавить дубль. В рабочем обмене намерение сохраняется до запроса, а восстановление проверяет карточку по устойчивой связи и её полям. Подтверждённые неизменившиеся пары не перезаписываются.
Перед изменением проверяются актуальные версии адресных книг; после него выполняется обратное чтение. Неизвестные и незавершённые операции остаются в журнале. Сбрасывать связи ради повторного запуска без разбора результата нельзя.
Дополнение из переписки не равно автоматическому импорту всех адресов
Для уточнения контакта нужно установить принадлежность данных. Собственная актуальная подпись отправителя и совпадение личного адреса полезнее общего офисного телефона или подписи из пересланной цепочки. Организацию и должность можно дополнять только по согласованным правилам.
13 октября отдельный пакет обновил 23 карточки и добавил 42 значения. Затем после повторной проверки перед каждым созданием добавлена 31 новая карточка и перенесена в Google. Итог — 954 контакта в каждой книге; все 923 прежние карточки сохранены. Найденные прежние дубли не объединялись и не удалялись.
Как проверить результат внедрения
Проверьте создание с обеих сторон, правку одного поля, одновременные разные правки, фотографии, ссылки и политику удаления. Контрольные тестовые карточки должны быть отделены от рабочего набора. Повторный проход без новых изменений не должен создавать или переписывать контакты.
В этом проекте серверное расписание не зависит от включённого Mac. Передайте владельцу журнал, правила конфликтов и остановки, а также проверенную резервную копию. Дополнительные найденные адреса из почты остаются для отдельного выбора, пока пакет не согласован.
Короткий чек-лист
- Сохранить и проверить снимки обеих книг
- Определить поддерживаемые поля
- Согласовать приоритет конфликтов и удаления
- Проверить фотографии и сохранение ссылок
- Проверить повторный проход и восстановление
- Согласовать отдельный пакет дополнения из переписки
Ссылки и исходный код
В материале раскрыты запросы: синхронизация Apple Google Contacts, контакты iPhone Google, конфликты адресной книги, актуализация контактов из почты.