Обновить Whatsapp контакты программно

Я делаю функцию в iOS, где я добавляю новый контакт в адресную книгу пользователя программно, и все идет хорошо. Следующий шаг - отправить этому новому контакту сообщение через Whatsapp, что тоже не очень сложно. Целью является прямое отображение экрана чата с новым контактом. Однако проблема заключается в том, что Whatsapp синхронизирует ее контакты сейчас и потом. Я использую следующее намерение для Whatsapp:

var whatsappUrl = (NSURL(string:"whatsapp://send?text=\(encodedmessage)&abid=\(id)"))      

Если сообщение является закодированной строкой, а id - идентификатором из недавно добавленного контакта. Когда моя программа открывает Whatsapp с этим методом, все будет хорошо, когда контакт уже был в адресной книге. Когда этот контакт снова добавлен, экран Whatsapp не перейдет непосредственно на этот экран. Вместо этого он отобразит сборщик для всех контактов.

Короче говоря, я хочу обновить контакты Whatsapp с помощью моего кода, чтобы отправить пользователя непосредственно на экран чата Whatsapp нового контакта, а не на экран выбора контакта, потому что контакты Whatsapp еще не синхронизированы с новый контакт.

Ответ 1

Рекомендуется не взаимодействовать с другими сторонними приложениями, если только они не предоставляют ручку для взаимодействия. Что уже дано whatsapp как openurl-схема.

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

Вы можете использовать большую библиотеку, которая APAddressBook для добавления и изменения проверки контакта.

Ответ 2

Очевидно, вы не можете. Поскольку процедура синхронизации WhatsApp выполняется внутри самого приложения, вы не сможете выполнять синхронизацию вне приложения. То, что вы могли бы попытаться сделать, это добавить полный номер с кодом страны в URL-адрес, а затем разобрать его на WhatsApp. WhatsApp должен сделать подписку на присутствие, и поэтому вы сможете отправить сообщение на этот номер.