Публикация

Контакты Apple и Google: двусторонняя синхронизация и правила конфликтов

Как связать контакты Apple и Google: поля, фотографии, конфликты, удаления и резервные копии. Пример на 923 парах и отдельном дополнении до 954 контактов.

Контакты и синхронизация 5 мин
Адресные книги Apple и Google, сопоставление полей и проверка изменений

Телефон изменили в Google, должность — в Apple, а фотография осталась в прежней версии. Простая перезапись одной книги другой скрывает, какая правка была осознанной. Двусторонний обмен требует правил для полей, конфликтов и удаления.

Разберём серверное внедрение: сначала проверены 923 связанные пары, затем отдельным согласованным пакетом обновлены существующие контакты и добавлены новые. Итоговая книга на 954 контакта — результат двух разных этапов, а не массовой очистки дублей.

Адресная книга

Правки в обе стороны по согласованным правилам

  1. 01Сделать снимки
  2. 02Связать карточки
  3. 03Разобрать правки
  4. 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. Передайте владельцу журнал, правила конфликтов и остановки, а также проверенную резервную копию. Дополнительные найденные адреса из почты остаются для отдельного выбора, пока пакет не согласован.

Короткий чек-лист

  • Сохранить и проверить снимки обеих книг
  • Определить поддерживаемые поля
  • Согласовать приоритет конфликтов и удаления
  • Проверить фотографии и сохранение ссылок
  • Проверить повторный проход и восстановление
  • Согласовать отдельный пакет дополнения из переписки

Ссылки и исходный код