我想集成以下功能:
我正在传递一位用户的联系电话。如果该联系号码已经存在,当我按下应用程序中的 WhatsApp 按钮时,会直接打开该用户的聊天屏幕。
如果地址簿中不存在该联系人,则首先将该联系人存储在地址簿中,然后在 WhatsApp 中打开该联系人的聊天屏幕(刷新联系人,以便我可以在 WhatsApp 聊天屏幕上获取该人的姓名)。
我已完成以下任务:
如果联系人不存在,则先存储在通讯录中,然后转移到 WhatsApp。如果我第二次按下 WhatsApp 按钮,它会检查该联系人是否存在。如果已保存,则获取其记录标识符并通过 WhatsApp URL 方案传递。
主要问题是它只是移动到WhatsApp的联系人列表,但没有打开用户的特定聊天屏幕。
注意:这个东西在Android中完美运行,所以我希望它也可以集成到iOS/Swift应用程序中。
只需在您的 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"];
....
}
如果您想通过浏览器上的网址直接发送消息,
试试这个, “https://web.whatsapp.com/send?phone={phone_no}&text={quote(message)}”