包括可点击的 link 作为来自 Whatsapp API 的消息的一部分

Include clickable link as part of message from Whatsapp API

我正在尝试通过 iOS (Swift) 和 Android (Java) 应用程序。我使用 url 方案如下:

whatsapp://send?text=$MY_URL_ENCODED_MESSAGE

邮件内容正确填充,但发送邮件时 link 未呈现为可点击 link。

我试过使用 markdown、HTML 并删除 URL 编码并只发送 link - 似乎没有任何效果。

我了解到 WhatsApp 可能有一些安全功能,当收件人不在我的联系人列表中但我发送消息的所有人都在时,WhatsApp 可能会阻止点击 links。

感谢任何帮助。

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

基于看起来像这样的数据结构:

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
}

Android

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
}