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

问题描述 投票:0回答:3

我想集成以下功能

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

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

我已完成以下任务:

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

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

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

ios swift swift2 whatsapp
3个回答
0
投票

查看什么应用程序

Custom URL
方案

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

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


0
投票

只需在您的 Whatsapp url 方案中附加 ABID 并称其有效。

ABID代表地址簿记录ID,下面的代码用于获取AB记录ID。它对 URL 本身中分隔符的使用很敏感。

要向特定用户发送注释,请使用此 - urlstring 格式: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"];
    ....
}

0
投票

如果您想通过浏览器上的网址直接发送消息,

试试这个, “https://web.whatsapp.com/send?phone={phone_no}&text={quote(message)}”

© www.soinside.com 2019 - 2024. All rights reserved.