【发布时间】:2020-05-18 19:25:20
【问题描述】:
我们非常感谢以下方面的任何帮助。通过我们的应用程序,用户可以发起一条 WhatsApp 消息(发生的情况是 WhatsApp 客户端以预先加载的电话 + 文本开始,因此用户只需点击 WhatsApp 应用程序中的“发送”按钮)。
我们有一个 Android 和一个 iOS 应用。在 Android 中,我们使用以下代码在 WhatsApp 和 WhatsApp Business 之间进行选择。
String url = "https://api.whatsapp.com/send?phone=" + phoneNumberToUse + "&text=" +
URLEncoder.encode(messageText, "UTF-8");
if(useWhatsAppBusiness){
intent.setPackage("com.whatsapp.w4b");
} else {
intent.setPackage("com.whatsapp");
}
URLEncoder.encode(messageText, "UTF-8");
intent.setPackage("com.whatsapp");
intent.setData(Uri.parse(url));
if (intent.resolveActivity(packageManager) != null) {
startActivity(intent);
} else {
Toast.makeText(this, "WhatsApp application not found", Toast.LENGTH_SHORT).show();
}
我们正在尝试在 Swift for iOS 上实现相同的功能,但是,我们没有找到任何方法来以编程方式定义操作系统应该启动 WhatsApp 还是 WhatsApp Business。下面列出的代码总是根据安装的启动一个或另一个。如果两者都安装了,它会启动 WhatsApp 应用程序。
let whatsApp = "https://wa.me/\(phoneNumber)/?text=\(shareableMessageText)"
guard let url = URL(string: whatsApp) else {
return
}
if #available(iOS 10.0, *) {
UIApplication.shared.open(url, options: convertToUIApplicationOpenExternalURLOptionsKeyDictionary([:]), completionHandler: nil)
} else {
UIApplication.shared.openURL(url)
}
简单来说,有没有办法从我们的应用程序中选择要启动的 WhatsApp 应用程序(WhatsApp 或 WhatsApp Business)?
谢谢
【问题讨论】:
-
您是否尝试过联系whatsapp 技术支持?他们可能会告诉您,他们是否为 whats 应用程序和业务应用程序指定了单独的 LSApplicationQueriesScheme whatsapp.com/contact/?subject=messenger
-
嘿,@tsik 你找到解决方案了吗?