如何从我们的应用程序在 WhatsApp 中打开特定联系人的聊天屏幕?

How to open specific contact's chat screen in WhatsApp from our app?

我想集成以下功能

我正在传递一个用户的联系电话。如果该联系号码已经存在,当我在我的应用程序中按下 WhatsApp 按钮时,直接打开该用户的聊天屏幕。

如果通讯录中不存在该联系人,则首先将此联系人存储在通讯录中,然后在 WhatsApp 中打开该联系人的聊天屏幕(刷新联系人以便我在 WhatsApp 上获取该人的姓名聊天屏幕)。

我完成了以下任务:

如果联系人不存在,则先存入通讯录,再移至WhatsApp。如果我第二次再次按下 WhatsApp 按钮,它会检查该联系人是否存在。如果已经保存,则获取其记录标识符并通过 WhatsApp URL 方案传递。

主要问题是它只是移动到 WhatsApp 的联系人列表,而没有打开用户的特定聊天屏幕。

注意:这个东西在Android中完美运行,所以我希望它也可以集成到iOS/Swift应用程序中。

查看whats app Custom URL 方案

https://www.whatsapp.com/faq/en/iphone/23559013

没有URL为用户的特定聊天屏幕注册的方案。

只需将 ABID 附加到您的 whatsapp url 方案中,并称之为有效。

ABID代表Address book Record ID,下面的代码用于获取AB Record ID。它对 URL 本身中分隔符的使用很敏感。

要向特定用户发送便条,请使用此 - url 字符串格式:whatsapp://send?abid=12&text=Hello%20World - 请注意使用 & 标记第二个参数。

- (BOOL)peoplePickerNavigationController:(ABPeoplePickerNavigationController    *)peoplePicker shouldContinueAfterSelectingPerson:(ABRecordRef)person
{   
    ARecordID  = (ABRecordID)ABRecordGetRecordID(person);
    ....
    whatsapp_string = [NSString stringWithFormat:@"whatsapp://send?abid=%d&text=%@;",ARecordID, "hello"];
    ....
}