Я заметил, что если мы обновим / удалим контакт в приложении родных контактов, такие же изменения мгновенно отражаются в TrueCaller.
Я могу представить два способа получить изменения:
- Он обновляет весь список контактов, удаляя все существующие записи в приложении, и запрашивает все записи у нативного контакта с помощью поставщика контактов каждый раз, когда приложение выходит на передний план. Но этот подход может включать в себя запросы к таблице RawContact и таблице данных при каждом запуске. , (Это может быть дорогостоящим с точки зрения вычислений)
- Каждый необработанный контакт поддерживает VERSION , которая увеличивается, если в необработанном контакте вносятся какие-либо изменения через собственное приложение. Это можно использовать для модификаций, но для этого потребуется сохранить старые значения в truecaller (или аналогичном приложении), чтобы мы могли их сравнить. Для этого подхода все равно потребуется запросить таблицу RawContacts.
Более поздний подход требует, чтобы Версия также поддерживалась в базе данных приложения TrueCaller.
Для обнаружения любых изменений потребуются следующие операции:
- Проверьте версию необработанного контакта в TrueCaller, если версия меньше, чем версия необработанного контакта в базе данных нативных контактов, затем запросите соответствующую таблицу данных для всех изменений.
- Если какой-либо необработанный контакт удален из собственного, то он либо удаляется из таблицы RawContact, либо помечается Удалено . Таким образом, нам нужно проверить наличие удаленного флага или отсутствие какой-либо предыдущей записи RawContact в таблице RawContact.
- Добавляются другие случаи, например, новый контакт, поэтому будет найдена новая необработанная запись контакта в таблице RawContact и т. Д.
Есть ли лучший способ импортировать контакт в ваше приложение и поддерживать правильную синхронизацию, если в нативном приложении выполняется какая-либо операция, такая как добавление, удаление или изменение?
Конечно, приложение вроде TrueCaller отлично справляется с этой задачей. Мы будем благодарны за любую статью об импорте контактов и т. Д. Любой соответствующий источник.