在Whatsapp API中加入可点击的链接作为消息的一部分。

问题描述 投票:1回答:1

我试图通过iOS(Swift)和Android(Java)应用发送一条包含可点击链接的消息给WhatsApp的用户。我使用的网址方案如下。

whatsapp://send?text=$MY_URL_ENCODED_MESSAGE

消息内容正确填充,但当消息被发送时,链接没有被渲染成可点击的链接。

我试过使用markdown,HTML和删除URL编码,只发送一个链接 - 似乎没有任何效果。

我读到WhatsApp可能有一些安全功能,当收信人不在我的联系人列表中时,可以防止点击链接,但我发送的信息的所有人都在。

感謝您的幫助。

android ios swift whatsapp
1个回答
0
投票

答案是将消息内容和链接分开。

基于数据结构,看起来是这样的。

data = {
  message = 'Search here'
  link = 'https://www.google.com'
}

你的方案会是这样的

iOS系统

url: "whatsapp://send?text=" + data.message.uri_encoded + data.link

使用以下方法打开设备上的WhatsApp。

let url  = URL(string: data["url"] as! String)

if UIApplication.shared.canOpenURL(url!) {
  UIApplication.shared.open(url!, options: [:], completionHandler: nil)
} else {
  # user does not have WhatsApp installed
}

安卓系统

url: "https://api.whatsapp.com/send?text=" + data.message.uri_encoded + data.link
packageName:  'com.whatsapp'

使用以下方法打开设备上的WhatsApp。

try {
  String packageName = obj.getJSONObject("data").getString("packageName");
  PackageManager pm = context.getPackageManager();
  pm.getPackageInfo(packageName, PackageManager.GET_ACTIVITIES);

  Intent intent = new Intent(Intent.ACTION_VIEW);
  intent.setData(Uri.parse(url));

  context.startActivity(intent);
} catch (PackageManager.NameNotFoundException e) {
  // user does not have WhatsApp installed
}
© www.soinside.com 2019 - 2024. All rights reserved.