从Flutter启动WhatsApp Business

wfypjpf4  于 2023-06-07  发布在  Flutter
关注(0)|答案(2)|浏览(271)

我试图使用Flutter启动WhatsApp Business应用程序,并编写了以下代码:

whatsAppBusiness(phone) {
  print(phone);
  return launchUrl(
    Uri.parse(
      'whatsapp-business://send?phone=$phone',
      // 'https://api.whatsapp.com/$phone', //put your number here
    ),
  );
}

但它不会被发射

kx7yvsdv

kx7yvsdv1#

这是一个有趣的问题,因为有两种WhatsApp。以下是我尝试过的:
当我的手机只有WA Messenger时,我试图在Safari中输入“whatsapp://”,它打开WA Messenger应用程序。但是当我安装更多WA Business时,这个“whatsapp://”打开WA Business。
我去WA文档:https://faq.whatsapp.com/5913398998672934,它告诉我们像这样使用深度链接:https://wa.me/{phone}?text={text}.我跟着它&它打开WA信使!
好吧,那么结论是什么呢?如果您的手机包含2个WA应用程序:

  • 要打开WA业务,请执行以下操作:"whatsapp://send?phone=$phone"
  • 要打开WA Messenger,请执行以下操作:使用深度链接(参考上文)https://wa.me/{phone}?text={text}
  • 打开WA,但不在乎它是什么样的:只使用"whatsapp://send?phone=$phone"

P/s:你的whatsapp-business://不工作,也许是因为它不存在?!
P/s 2:不要忘记配置info.plist & Android清单作为url launcher需要.

lb3vh1jj

lb3vh1jj2#

无需指定WhatsApp业务。
打开WhatsApp。
如果你有两个应用程序安装(whatsapp,whatsapp business),你会给你的选择,其中一个打开
所以,只要打开WhatsApp,这里有一个例子:

ElevatedButton(
              onPressed: () {
                String phone = '123';
                String infoText = 'blabla';
                String whatsappUrl =
                    "whatsapp://send?phone=$phone" "&text=${Uri.encodeFull(infoText)}";
                try {
                  launchUrlString(whatsappUrl);
                } catch (e) {
                  //handle error properly
                }
              },
              child: const Text('whatsapp'),
            )

相关问题