Создайте ссылку, которая откроет Viber и WhatsApp и отправит мне сообщение

Все вокруг использовали IM. На моем сайте мне нужно разместить ссылку, которая откроет данное приложение для обмена мгновенными сообщениями (как на ПК, так и на мобильном телефоне) и откроет сообщение для отправки на мой номер - и я не могу найти способ!

Я предполагаю использовать некоторую схему 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, чтобы посетители сайта могли связаться со мной?

8 ответов

Решение

То, что вам нужно, называется глубокие ссылки, некоторые примеры для viber а также whatsapp являются:

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

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

Источники:

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

Ссылка Viber на пользователя должна быть такой:

viber://contact?number=%2B0000000000000

Используйте формат международного номера телефона без + но с %2B,

Поскольку вы не хотите создавать публичную учетную запись (также называемую ссылками viber, включая /pa?), Просто добавьте ссылку: <a href="viber://chat?number=012345678901"">chat with me</a>Первые две цифры - это код страны и знак + не требуется.

      viber://chat?number=%2B977-9800000000

Для меня это сработало как для настольных компьютеров, так и для мобильных устройств. Я заменил + на% 2B.

Для WhatsUp вы можете использовать эту ссылку, которая откроет чат с вами на мобильном телефоне, просто введите свой телефон без знака +.

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

Фактически viber://add?number=XXXXXXXXXне работает для настольного приложения, он работает, только если вы открываете его с мобильного телефона. Для рабочего стола вам нужно использоватьviber://chat?number=XXXXXXXXX.

Для WhatsApp ссылка очень проста: https://wa.me/XXXXXXXXXX.

Помните, как генерировать ссылки для всех мессенджеров нереально, поэтому я всегда использую https://msng.link/ для генерации ссылок в WhatsApp и Telegram, это очень просто.

Для WhatsApp это легко.

используйте следующий формат**https://wa.me/123456/** и это все. здесь 123456 означает ваш номер WhatsApp с кодом страны. Не включайте + или предшествующие 00, просто введите свой номер с кодом страны. как 912232232. Здесь 91 - код страны, а остальное - номер телефона. это работает с приложением, а также для веб-приложений WhatsApp.

для Viber этот формат работает с публичными аккаунтами. если у вас есть имя пользователя viber, вы можете использовать тот же метод.

https://viber.me/username/ отправит вас на страницу.

это даже работа для фейсбука. Если ваш профиль в Facebook виден поисковым системам, вы можете использовать этот метод.

используйте вышеуказанный формат с fb.me/username это перенаправит вас на страницу Facebook пользователя. Я думаю, что это работает и для страниц. но я не пробовал. Я считаю, что это должно сработать.

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 (Large 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>
Другие вопросы по тегам