在Android上的移动网站(非应用程序)上分享WhatsApp上的链接

时间:2014-02-21 12:58:18

标签: android mobile web share whatsapp

我开发了一个主要用于手机的网站 我想允许用户直接从网页上分享信息到WhatsApp。

使用UserAgent检测我可以区分Android和iOS 我能够发现,为了在iOS中实现上述内容,我可以使用URL:

href="whatsapp://send?text=http://www.example.com"

我仍然在寻找在Android操作系统时使用的解决方案(因为上面的操作不起作用) 我想它在某种程度上与在Android中使用“intent”相关,但我无法弄清楚如何将其作为href的参数。

15 个答案:

答案 0 :(得分:282)

刚刚在网站上看到它,似乎现在也可以在最新的Android上使用最新的chrome和whatsapp!给链接一个新的镜头!

<a href="whatsapp://send?text=The text to share!" data-action="share/whatsapp/share">Share via Whatsapp</a>

今天重新检查(2015年4月17日 th ):
适用于iOS 8(iPhone 6,最新版本)Android 5(Nexus 5,最新版本)。

它也适用于Windows Phone。

答案 1 :(得分:79)

以上答案有点过时了。虽然这些方法有效,但通过使用以下方法,您可以将任何文本共享到预定义的数字。以下方法适用于Android,WhatsApp Web,IOS等。

您只需使用以下格式:

<a href="https://api.whatsapp.com/send?phone=whatsappphonenumber&text=urlencodedtext"></a>

更新 - 从现在开始使用(2018年11月)

<a href="https://wa.me/whatsappphonenumber/?text=urlencodedtext"></a>
  

使用:https://wa.me/15551234567

     

不要使用:https://wa.me/+001-(555)1234567

     

使用预填充的消息创建您自己的链接   自动出现在聊天的文本字段中,使用   https://wa.me/whatsappphonenumber/?text=urlencodedtext在哪里   whatsappphonenumber是一个完整的电话号码,国际格式和   URL-encodedtext是URL编码的预填充消息。

     

实施例:https://wa.me/15551234567?text=I&#39;米%20interested%20英寸%20your%20car%20for%20sale

     

要创建仅包含预填充消息的链接,请使用   https://wa.me/?text=urlencodedtext

     

实施例:https://wa.me/?text=I&#39;米%20inquiring%20about%第二十条%20apartment%20listing

     

点击该链接后,您将看到一个联系人列表   可以发送你的消息。

有关详细信息,请参阅https://www.whatsapp.com/faq/en/general/26000030

答案 2 :(得分:38)

目前,实现这一目标非常容易。您只需要在页面中添加以下代码:

<a href="whatsapp://send?text=<<HERE GOES THE URL ENCODED TEXT YOU WANT TO SHARE>>" data-action="share/whatsapp/share">Share via Whatsapp</a>

就是这样。不需要Javascript,不需要其他任何东西。当然你可以根据需要设计它,并包含一个漂亮的Whatsapp图标。

我在Android设备上使用Google Chrome进行了测试。版本:

  • Android 4.1.2(Jelly Bean)
  • Chrome Mobile 37.0.2062.117。还在Firefox Mobile 31.0上进行了测试。
  • Whatsapp V 2.11.399

它也适用于iOS。我已经使用Safari对iPhone 5进行了快速测试,它也能正常运行。

希望这有助于某人。 : - )

答案 3 :(得分:14)

最近WhatsApp更新了我们需要使用的official website 此HTML标记是为了使其可共享到移动网站:

<a href="whatsapp://send?text=Hello%20World!">Hello, world!</a>

您可以将text=替换为您的链接或任何文字内容

答案 4 :(得分:14)

根据新文档,该链接现在为:

<a href="https://wa.me/?text=urlencodedtext">Share this</a>

答案 5 :(得分:7)

我担心WhatsApp for Android目前不支持从网络浏览器调用。

我对我当前的项目有同样的要求,因为我找不到任何正确的信息,所以我最终下载了APK文件。

在Android中,如果想要从Web浏览器调用某个应用程序,则需要使用android.intent.category.BROWSABLE类别定义一个Activity。

您可以在此处找到有关此内容的更多信息:https://developers.google.com/chrome/mobile/docs/intents

如果您查看WhatsApp AndroidManifest.xml文件,唯一具有BROWSABLE类别的Activiy就是这个:

<activity android:name="com.whatsapp.Conversation"   android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize" android:windowSoftInputMode="stateUnchanged">
        <intent-filter>
            <action android:name="android.intent.action.SENDTO" />
            <category android:name="android.intent.category.DEFAULT" />
            <category android:name="android.intent.category.BROWSABLE" />
            <data android:scheme="sms" />
            <data android:scheme="smsto" />
        </intent-filter>
    </activity>

我已经玩了一段时间了,我无法让它发挥作用。我得到的最多是从Chrome打开WhatsApp应用程序,但我无法找到设置邮件内容和收件人的方法。

由于WhatsApp团队没有记录,我认为这仍在进行中。看起来将来WhatsApp也会处理短信。

获取更多信息的唯一方法是联系WhatsApp开发团队,我尝试过,但我还在等待回复。

问候!

答案 6 :(得分:7)

刚刚使用whatsapp://在我的超级Android 2.3.3上测试了Whats App 2.11.301计划,就像魅力一样。它似乎只是Whats App版本。由于Whats App迫使每个人都更新,因此使用它应该是安全的。

Whats App文档还提到了该方案:http://www.whatsapp.com/faq/en/android/28000012

我现在在生产网站上使用此功能,如果我收到任何用户投诉,我会在此处更新。

编辑(11月14日):几周后没有用户投诉。

答案 7 :(得分:6)

一般来说,仅使用java脚本在iOS或Android设备上显示Whatsapp链接才有意义:

   if (navigator.userAgent.match(/iPhone|Android/i)) {
      document.write('<a href="whatsapp://send?text=See..">Share on WhatApp</a>');
   }

答案 8 :(得分:6)

最新更新

现在,您可以使用whatsapp https://wa.me/中的最新API,而不必担心用户代理,该API将执行用户代理处理。

在相应的whatsapp客户端(Android / iOS / Webapp)中,使用联系人选择选项共享预填充文本:

https://wa.me/?text=urlencodedtext

在相应的whatsapp客户端(Android / iOS / Webapp)中为特定的whatsapp用户打开聊天对话框:

https://wa.me/whatsappphonenumber

与特定用户共享预填充文本(两个以上组合):

https://wa.me/whatsappphonenumber/?text=urlencodedtext

注意whatsappphonenumber应该是国际格式的完整电话号码。以国际格式添加电话号码时,请省略所有零,方括号或破折号。

有关官方文档,请访问https://faq.whatsapp.com/en/general/26000030

答案 9 :(得分:2)

根据桌面或移动平台切换whatsapp共享链接。

无论链接中是否提供电话号码,此功能都可以使用。

移动版

   vm.LinkTextToShare = 'https://api.whatsapp.com/send?text=' + encodeURIComponent(window.location.href) ;

   window.open(vm.LinkTextToShare,"_blank");

对于台式机

   vm.LinkTextToShare = 'https://web.whatsapp.com/send?l=en&text=' + encodeURIComponent(window.location.href) ;

   window.open(vm.LinkTextToShare,"_blank");

答案 10 :(得分:1)

TLDR:&#34;不支持此功能。&#34; 〜官方Whatsapp开发者。

我在几个设备(Android,iOS和Windows)上测试了它,但它根本不起作用。这是我个人测试的40种不同服务中的一种,而且两种中唯一一种不起作用(另一种是Viber)。请看这里的列表..

https://github.com/bradvin/social-share-urls#whatsapp

沮丧地,我通过电子邮件向WhatsApp的开发人员发送电子邮件。我向他们展示了自己的来源:

https://faq.whatsapp.com/en/android/26000030/?category=5245251

我被告知,非常具体,这个特征没有实现。

"Unfortunately, that is not supported at the moment.
We are always working to improve our app and will take your suggestion into consideration.
request #172349248330585"

为了测试这一点:(1)注册Whatsapp帐户,(2)在桌面上安装Whatsapp,(3)在手机上安装Whatsapp,(4)同步手机和电脑,(5)构建和在您的私人主机上上传一个whatsapp共享链接,(6)在2和3中提到的设备中单击它。(7)单击链接,看到Whatsapp打开,另请注意它完全忽略了给它的所有参数。

所有这些都导致了Viber和Whatsapp的失败,以及38个其他服务的积极结果(从谷歌到Skype到Line.me到Facebook,Digg,StumbleUpon,豆瓣,你的名字)。

答案 11 :(得分:0)

尝试通过这种方式实现:

<a href="https://wa.me/(phone)?text=(text URL encoded)">Link</a>

即使您无需在链接中输入电话号码也可以发送消息:

<a href="https://wa.me/?text=Hello%20world!">Say hello</a>

单击链接后,将显示您可以向其发送消息的联系人列表。

https://faq.whatsapp.com/en/general/26000030中的更多信息。

祝你好运!

答案 12 :(得分:0)

像“ whatsapp:// send?text =“ + encodeURIComponent(您的文本在此处)一样使用它,它肯定会工作。

答案 13 :(得分:0)

这段代码对我有用。

单击链接后,它将要求您选择要共享消息的联系人。

<a href="https://api.whatsapp.com/send?text=enter message here">Click here to share on Whatsapp</a>

您可以添加target =“ _ blank”属性以在新窗口或标签中打开它。

当有人要分享特定的消息或文章时,我认为不需要电话号码。

答案 14 :(得分:0)

使用:https://wa.me/1XXXXXXXXXX

请勿使用:https://wa.me/+001-(XXX)XXXXXXX

预先填写的消息将自动显示在聊天的文本字段中。使用https://wa.me/whatsappphonenumber?text=urlencodedtext,其中 whatsappphonenumber 是国际格式的完整电话号码,而 urlencodedtext 是URL编码的预填充消息。

示例: https://wa.me/1XXXXXXXXXX?text=I'm%20interested%20in%20your%20car%20for%20sale

要创建仅包含预填消息的链接,请使用https://wa.me/?text=urlencodedtext

示例: https://wa.me/?text=I'm%20inquiring%20about%20the%20apartment%20listing`

点击链接后,将显示您可以向其发送消息的联系人列表。