Создайте ссылку, которая откроет 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>