12

周围的每个人都习惯使用 IM。在我的网站上,我需要放置一个链接,该链接将打开给定的即时消息应用程序(在 PC 和移动设备上)并打开向我的号码发送消息 - 我找不到方法!

我想使用一些 URL 方案来做到这一点,但我能找到的是(__number 是我的手机号码):

<a href="intent://send/__number__#Intent;scheme=smsto;package=com.whatsapp;action=android.intent.action.SENDTO;end">WhatsApp</a>

<a href="viber://add?number=__number__">Viber</a>

(我什至不知道我应该在+1202中使用电话……还是简单的1202……(即,如果需要加号)

但坦率地说,这是行不通的。Viber 打开它的窗口,然后告诉我它不会处理该请求,并且 WhatsApp 根本没有链接到intent方案(在多个设备和操作系统上测试)。

所以,我请你帮我解决这个小问题:什么样的 URL 会打开 Viber 和 WhatsApp 应用程序,让网站的访问者与我联系?

4

8 回答 8

14

您需要的称为deep-linkingviber ,其中和的一些示例whatsapp是:

振动

<a href="viber://pa?chatURI=[public account URI]&text=[message text]"> some text </a>

WhatsApp

<a href="whatsapp://send?abid=[users name]&text=[message text]"> some text </a>

虽然不是深层链接,但您也可以为WhatsApp使用以下网址(请勿+在手机上使用):

<a href="https://api.whatsapp.com/send?phone=0000000">Contact Me</a>

资料来源:

http://origamiengine.com/deep-linking
https://support.viber.com/customer/en/portal/articles/2872423-deep-links

于 2016-12-25T20:53:32.373 回答
11

Viber 链接到用户应该是这样的:

viber://contact?number=%2B0000000000000

+使用不带但带. 的国际电话号码格式%2B

于 2019-01-07T17:04:42.510 回答
6

由于您不想创建公共帐户(也称为 viber 链接,包括 /pa? ),因此只需添加链接:<a href="viber://chat?number=012345678901"">chat with me</a> 前两位数字是国家代码,不需要 + 号。

于 2018-05-18T20:41:23.940 回答
3

对于 WhatsUp,您可以使用此链接,这将在移动设备上打开与您的聊天,只需输入不带 + 号的手机即可。

<a href="https://api.whatsapp.com/send?phone=123456789">WhatsUp</a>

于 2018-07-02T09:24:30.903 回答
2

实际上viber://add?number=XXXXXXXXX不适用于桌面应用程序,仅当您从手机打开时才有效。对于桌面,您需要使用viber://chat?number=XXXXXXXXX.

对于whatsapp 链接非常简单:https://wa.me/XXXXXXXXXX.

记住如何为所有信使生成链接是不真实的,所以我总是使用https://msng.link/来生成 whatsapp 和电报链接,这很容易。

于 2018-11-24T22:39:11.430 回答
2
viber://chat?number=%2B977-9800000000

对我来说,这适用于台式机和移动设备。我将 + 替换为 %2B。

于 2021-09-01T05:59:02.003 回答
1

对于whatsapp,这很容易。

使用以下格式 **https://wa.me/123456/** ,就是这样。这里的 123456 表示您的 whatsapp 号码和国家代码。不要包含 + 或前面的 00,只需将您的号码与国家代码一起输入即可。比如 912232232。这里 91 是国家代码,其余的是电话号码。这适用于应用程序,也适用于whatsapp web。

对于 Viber,此格式适用于公共帐户。如果您有 viber 用户名,则可以使用相同的方法。

https://viber.me/username/ 会将您发送到该页面。

这甚至适用于 Facebook。如果您的 facebook 个人资料对搜索引擎可见,则可以使用此方法。

使用上述格式 fb.me/username 会将您重定向到用户的 facebook 页面。我认为它也适用于页面。但我没有尝试过。我相信它应该有效。

于 2018-08-21T07:47:54.330 回答
1

Viber 为桌面和移动设备使用不同的链接。

对于移动设备

<a href="viber://chat?number=PHONE_WITHOUT_PLUS">Text to Viber</a>

<a href="viber://add?number=PHONE_WITHOUT_PLUS">Add the phone to Viber</a>

对于桌面设备

<a href="viber://chat?number=+PHONE_WITH_PLUS">Text to Viber</a>

<!-- or use %2B = + -->

<a href="viber://chat?number=%2BPHONE_WITH_PLUS">Text to Viber</a>

应该安装 Viber。

在服务器代码中,需要通过用户代理检测用户设备的类型(台式机或移动设备)或使用 CSS 规则(例如,@min-width())或 JS 来显示必要的链接。

PHP(没有任何库):

function isMobile($userAgent) { 
    $userAgent = strtolower($userAgent);
    $mobileAgents = array('ipad', 'iphone', 'android', 'pocket', 'palm', 'windows ce', 'windowsce', 'cellphone', 'opera mobi', 'ipod', 'small', 'sharp', 'sonyericsson', 'symbian', 'opera mini', 'nokia', 'htc_', 'samsung', 'motorola', 'smartphone', 'blackberry', 'playstation portable', 'tablet browser');
     
    foreach ($mobileAgents as $value) {    
        if (strpos($userAgent, $value) !== false) return true;   
    };     
    
    return false; 
};
    
// Gets a user agent from the server variable
$agent = $_SERVER['HTTP_USER_AGENT'];
// Gets a user agent from Laravel Request
$agent = request()->userAgent();

$mobile = isMobile($agent);

// Simple PHP output
<?php if($mobile): ?>
   <a href="viber://chat?number=PHONE_WITHOUT_PLUS">Text to Viber</a>
<?php else: ?>
   <a href="viber://chat?number=+PHONE_WITH_PLUS">Text to Viber</a>
<?php endif; ?>

带有 Twitter Bootstrap v5 的HTML 和 CSS(大 lg ≥992px):

<a href="viber://chat?number=PHONE_WITHOUT_PLUS" class="d-lg-none">Text to Viber (Mobile)</a>
<a href="viber://chat?number=+PHONE_WITH_PLUS" class="d-none d-lg-block">Text to Viber (Desktop)</a>
于 2021-02-27T11:30:49.110 回答