【问题标题】:Create a link that will open Viber and WhatsApp and will send a message to me创建一个链接,该链接将打开 Viber 和 WhatsApp,并向我发送消息
【发布时间】:2017-05-10 12:17:44
【问题描述】:

周围的每个人都习惯使用 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 应用程序让网站的访问者与我联系?

【问题讨论】:

    标签: url whatsapp instant-messaging viber


    【解决方案1】:

    你需要的是deep-linkingviberwhatsapp的一些例子是:

    Viber

    <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

    【讨论】:

    • 谢谢,但这会向我发送预定义的消息,不是吗,我不希望这样,我确实想在访问者的 PC 上打开一个聊天窗口,以便他/她可以键入我他自己的消息。可能吗?在 Viber 和 WA 网站上仍然没有看到任何文档。
    • 不,我不想为此在 Viber 上建立公共帐户,我想和我的普通 Viber 帐户聊天!
    • 截至 2021 年,Text param 没有任何作用。如果您执行 href="viber://forward?text=test" 似乎有效,但如果您执行 href="viber://chat? number=%2B1111111&text=test" 它会打开一个空聊天。
    【解决方案2】:

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

    viber://contact?number=%2B0000000000000
    

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

    【讨论】:

      【解决方案3】:

      由于您不想创建公共帐户(又名 viber 链接,包括 /pa?),因此只需添加链接:&lt;a href="viber://chat?number=012345678901""&gt;chat with me&lt;/a&gt; 前两位是国家代码,不需要+号。

      【讨论】:

        【解决方案4】:

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

        &lt;a href="https://api.whatsapp.com/send?phone=123456789"&gt;WhatsUp&lt;/a&gt;

        【讨论】:

          【解决方案5】:

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

          whatsapp 链接很简单:https://wa.me/XXXXXXXXXX.

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

          【讨论】:

            【解决方案6】:
            viber://chat?number=%2B977-9800000000
            

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

            【讨论】:

              【解决方案7】:

              对于whatsapp,这很容易。

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

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

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

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

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

              【讨论】:

                【解决方案8】:

                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; ?>
                

                HTML 和 CSS 与 Twitter Bootstrap v5(大 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>
                

                【讨论】:

                • 谢谢。截至当前日期,+PHONE_WITH_PLUS 的链接适用于桌面设备和移动设备。
                猜你喜欢
                • 2017-07-29
                • 2019-09-19
                • 1970-01-01
                • 2021-10-08
                • 2017-12-20
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 2015-02-25
                相关资源
                最近更新 更多