私はiOSで、ユーザーのアドレス帳に新しい連絡先をプログラムで追加する機能を作成していますが、これはすべてうまくいっています。次のステップは、Whatsappを介してその新しい連絡先にメッセージを送信することですが、これもそれほど難しくはありません。目的は、新しい連絡先とのチャット画面を直接表示することです。ただし、問題は、Whatsappが連絡先を時々同期することです。私はWhatsappに次のインテントを使用しています:
var whatsappUrl = (NSURL(string:"whatsapp://send?text=\(encodedmessage)&abid=\(id)"))
ここで、メッセージはエンコードされた文字列であり、idは新しく追加された連絡先からのIDです。私のプログラムがそのメソッドでWhatsappを開くと、連絡先がすでにアドレス帳にあるときにすべてが正常に機能しています。その連絡先が新しく追加された場合、Whatsapp画面はその画面に直接移動しません。代わりに、すべての連絡先のピッカーが表示されます。
簡単に言えば、Whatsappの連絡先が新しい連絡先とまだ同期されていないため、連絡先ピッカー画面ではなく、新しい連絡先のWhatsappチャット画面にユーザーを直接送信するために、コードを使用してWhatsappの連絡先を更新したいと思います。
対話するためのハンドルを提供しない限り、他のサードパーティアプリと対話しないことをお勧めします。これはすでにwhatsappによってopenurlスキームとして提供されています。
削除または追加された連絡先がある場合は、アプリで最初に問題に対処する必要があります。そうすれば、wahtsappで夕方に確認する前に、アプリを開くアクションが開始されません。
APAddressBook という優れたライブラリを使用して、連絡先の追加と変更のチェックを行うことができます。
明らかにできません。 WhatsAppの同期手順はアプリ自体の内部で行われるため、アプリの外部で同期を行うことはできません。あなたがしようとすることができるのは、URLに国コードを含む完全な番号を追加し、それをWhatsAppに解析することです。 WhatsAppはプレゼンスサブスクリプションを実行する必要があるため、その番号にメッセージを送信できます。