Посилання на WhatsApp на веб-сайті для мобільних пристроїв (не додаток) для Android


213

Я розробив веб-сайт, який в основному використовується в мобільних телефонах.
Я хочу дозволити користувачам ділитися інформацією безпосередньо з веб-сторінки в WhatsApp.

Використовуючи функцію виявлення UserAgent, я можу розрізняти Android та iOS.
Мені вдалося виявити, що для реалізації вищевказаного в iOS я можу використовувати URL:

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

Я все ще шукаю рішення, яке слід використовувати, коли ОС працює на Android (оскільки вище не працює).
Я думаю, це якимось чином пов'язане з використанням "наміру" в Android, але я не міг зрозуміти, як це зробити як параметр для href.


Цей спосіб підключається до програми Whatsapp, і є інший спосіб підключення до параметра web.whatsapp.com. Чи є спосіб, який би визначив, чи є у вас додаток чи ні, щоб побачити, до якого підключитися?
SrQ

Який контакт отримає це повідомлення?
Codebeat

Відповіді:


321

Щойно побачив це на веб-сайті і, здається, зараз працює на останньому Android з найновішим хромом та WhatsApp! Дайте посилання новий кадр!

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

Перевірив сьогодні (17 - го квітня 2015 року):
у мене працює на прошивці 8 (iPhone 6, останні версії) Android 5 (Nexus 5, останні версії).

Він також працює на Windows Phone.


1
насправді здається, що оригінальна URL-адреса мого запитання також працює для Android.
Йочай

Хто б не схвалював проникливий коментар @ MosheL, він повинен мати глибокі знання про те, що саме є його "предметом".
Дан Даскалеску

6
@Manuel, для чого це data-action = "поділитися / whatsapp / share"?
користувач3362364

4
Дані мають бути в кодованому URL-адресі. Інше воно надсилатиме порожнє повідомлення в WhatsApp iphone.
Ліхо Авраам

1
Деякі зміни API можна знайти в останньому документі - faq.whatsapp.com/en/general/26000030/?category=5245251
abhishek77in

102

Наведені вище відповіді трохи застаріли. Хоча ці методи працюють, але, використовуючи метод нижче, ви можете поділитися будь-яким текстом на заздалегідь задане число. Наведений нижче метод працює для android, WhatsApp Web, IOS тощо

Вам просто потрібно використовувати цей формат:

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

ОНОВЛЕННЯ - використовуйте це зараз (листопад-2018)

<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 'm% 20цікавились% 20in% 20your% 20car% 20for% 20sale

Щоб створити посилання із лише попередньо заповненим повідомленням, використовуйте https://wa.me/?text=urlencodedtext

Приклад: https://wa.me/?text=I 'm% 20запит% 20about% 20the% 20apartment% 20listing

Після натискання на посилання, вам з’явиться список контактів, на які можна надіслати своє повідомлення.

Для отримання додаткової інформації див. Https://www.whatsapp.com/faq/en/general/26000030


Я тестував це на всіх пристроях. Все, що він робить - це відкрити додаток WhatsApp. Нічого не відбувається вперед. Перевірено декілька пристроїв (iOS, Android, Windows).
HoldOffHunger

@HoldOffHunger так, це відкриє додаток WhatsApp, і користувач повинен вибрати контакт, на який він бажає поділитися посиланням / вмістом.
ad08

@ ad08: Саме так працювали Threema та інші 40 послуг, які я перевірив. Viber і WhatsApp, однак, нічого не роблять, я зв’язався з їх розробниками, і вони обидва зізналися, що API нічого не робить. Я відстежував їхню кореспонденцію та інші 40 апі (які працюють) тут: github.com/bradvin/social-share-urls/blob/master/README.md
HoldOffHunger

Працює на WhatsApp столі під Мохаве
ALCHEM

6
Посилання wa.me не працює належним чином на мобільному телефоні без номера телефону. Незважаючи на те, що в офіційній документації зазначено, що ви можете ним скористатися, вона просто видає помилку. Це працює в робочому столі, використовуючи веб-сайт WhatsApp. api.whatsapp.com надійно працює на обох.
Ricardo BRGWeb

39

В даний час досягти цього дуже просто. Вам потрібно лише додати наступний код на свої сторінки:

<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. Я зробив швидкий тест на iPhone 5 із Safari, і він також працює.

Сподіваюся, що це комусь допоможе. :-)


3
Для кодування вашого вмісту для спільного використанняencodeURIComponent()
nikoskip

1
ей, це працювало на мене. дякую :) Просто цікаво, якщо є спосіб, якщо я можу перевірити, чи користувач насправді поділив посилання чи просто повернувся на сайт?
Сказано

1
Працює також на моєму Nexus 5 з Android 5.0 (Lollipop) та iPhone 5 з iOS 8.1.1.
Narxx

2
@juangalf Що робити, якщо я хочу поділитися зображенням за допомогою цього методу? чи це теж можливо, чи підтримується лише текст?
elembivos

1
@elembivos Я прошу те саме. Як має бути сформований sendпараметр? Наразі я маю, whatsapp://send?text=data:image/png;base64,iVBORw0KGgoAAAANS...але не впевнений, скільки префіксів включати ...
TMOTTM

27

Згідно з новою документацією, посилання зараз:

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

Якщо це не працює, спробуйте це:

<a href="whatsapp://send?text=urlencodedtext">Share this</a>

3
Так що це можливо і без номера телефону. Цей документ можна знайти тут: faq.whatsapp.com/en/general/26000030
Тім Вермален

1
Я тільки що виявив, що він не працює належним чином. Він просто працює з номером телефону. Без номера телефону вам потрібно скористатися api.whatsapp.com
Ricardo BRGWeb

@RicardoBRGВпевнені в цьому? Я просто спробував у своїх веб-браузерах, працює для мене без будь-якої кількості, мені потрібен інтерфейс Web Whatsapp і поділитися контактом
Vincent Decaux,

@VincentDecaux працює у веб-переглядачах, навіть коли використовується режим перегляду мобільних пристроїв. Але це не буде працювати в мобільних браузерах, щоб відкрити програми WhatsApp або WhatsApp для бізнесу. Ймовірно, вони змінили внутрішню посилання урі в додатку.
Рікардо BRGWeb

Гаразд, ти спробував мій другий варіант? справедливо, я не пробував мобільний броуер, я спробую завтра
Вінсент Деко,

14

Нещодавно WhatsApp на своєму офіційному веб-сайті оновив, що нам потрібно використовувати цей HTML-тег, щоб зробити його доступним для мобільних сайтів:

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

Ви можете замінити, text=щоб мати своє посилання або будь-який текстовий вміст


Я перевірив це особисто. Він відкриває додаток, але нічого іншого.
HoldOffHunger

@HoldOffHunger, тому що вам потрібно використовувати urlencode, інакше це не вийде
Шив Сінгх

@Shiv: Це не моя проблема.
HoldOffHunger

Це впевнено працює ... Будь-який спосіб вставити розриви рядків (клавіші введення) у текст повідомлення?
чт

@cht щось запізнюється, але ви можете використовувати% 0D як перерву рядків
Elro444,

11

ОСТАННЕ ОНОВЛЕННЯ

Тепер ви можете використовувати найновіший API з Whatsapp, https://wa.me/не турбуючись про користувальницький агент, API буде працювати з користувацьким агентом.

Поділіться попередньо заповненим текстом із опцією вибору контактів у відповідному клієнті WhatsApp (Android / iOS / Webapp):

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

Відкрийте діалог чату для конкретного користувача WhatsApp у відповідному клієнті WhatsApp (Android / iOS / Webapp):

https://wa.me/whatsappphonenumber

Поділитися попередньо заповненим текстом із певним користувачем (Поєднайте вище двох):

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

Примітка :whatsappphonenumber повинен бути повний номер телефону в міжнародному форматі. Пропустіть будь-які нулі, дужки або тире, додаючи номер телефону в міжнародному форматі.

Для отримання офіційної документації відвідайте https://faq.whatsapp.com/en/general/26000030


wa.me/whatsappphonenumber/?text=urlencodedtext не працює, здається
Кіран

7

Я боюся, що WhatsApp для Android наразі не підтримує дзвінки з веб-браузера.

У мене була така ж вимога до мого поточного проекту, і оскільки я не міг знайти належної інформації, я закінчив завантаження файлу APK.

В Android, якщо додаток хоче викликати з веб-браузера, йому потрібно визначити активність із категорією android.intent.category.BROWSABLE.

Додаткову інформацію про це можна знайти тут: https://developers.google.com/chrome/mobile/docs/intents

Якщо ви подивитесь на файл WhatsApp AndroidManifest.xml, єдиний Activiy з категорією BROWSABLE - це цей:

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

Я деякий час грав з ним, і я не міг змусити його працювати. Найбільше мені було відкрити додаток WhatsApp з Chrome, але я не міг знайти спосіб встановити вміст повідомлення та одержувача.

Оскільки це не документально підтверджено командою WhatsApp, я думаю, це все ще триває. Схоже, в майбутньому WhatsApp також буде обробляти SMS.

Єдиний спосіб отримати більше інформації - це отримати команду розробників WhatsApp, що я спробував, але я все ще чекаю відповіді.

З повагою!


1
Чи можу я попросити вас поділитися будь-якою новою інформацією з цього питання? Було б дуже зручно і для мене. У будь-якому випадку, дякую за вичерпну відповідь.
ccalboni

Мені вдалося зв’язатися з розробниками WhatsApp. Вони визнали, що ця функція не підтримується.
HoldOffHunger

7

Взагалі має сенс лише відображати посилання Whatsapp лише на пристроях iOS або Android, використовуючи сценарій java:

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

Що не вийшло? Посилання відображалося на немобільному пристрої? На мобільному пристрої посилання не працювало?
Вайденрінде

Відкриється додаток WhatsApp. Але ні текст, ні повідомлення не відображаються. Тестується на кількох ОС та пристроях. Я надіслав електронною поштою розробникам. Вони офіційно не підтримують таку поведінку. "На жаль, на даний момент це не підтримується. Ми завжди працюємо над вдосконаленням нашої програми і врахуємо вашу пропозицію". (квиток # 172349248330585) Я перевірив ~ 40 інших сервісів, тільки WhatsApp і Viber не підтримують власну документацію.
HoldOffHunger

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

Я використовую це на виробничому сайті зараз і оновлю тут, якщо я отримаю будь-які скарги користувачів.

Редагувати (14 листопада): Немає скарг користувача через пару тижнів.


6

Офіційні документи говорять використання: wa.me. Не використовуйте wa.me. Просто спробуйте самі: https://wa.me/?text=SomeTexttoShare Результати для мене:

Не вдалося знайти сторінку, яку ви шукали

Схоже, ви шукаєте сторінку, яка не існує. Або сторінку, яку ми щойно видалили. У будь-якому випадку, поверніться назад або обов'язково перевірте URL-адресу, правопис і спробуйте ще раз.

Якщо ви хочете надати доступ до спільного доступу, ви повинні абсолютно використовувати один із двох наступних форматів URL:

https://api.whatsapp.com/send?text=YourShareTextHere
https://api.whatsapp.com/send?text=YourShareTextHere&phone=123

Якщо вам цікаво переглядати проект, який відстежує ці URL-адреси, тоді перевірте нас!: Https://github.com/bradvin/social-share-urls#telegramme

URL-адреси соціального доступу


Використання whatsapp://send?text=працює для мене, з або без кодування URL. Тестувався лише на iOS
Snowball

Привіт, @Snowball: Дякую за коментар, насправді це працюватиме лише тоді, коли встановлено додаток Whatsapp. Це нормально для customProtocol://action=?типів посилань. Отже, це нічого не зробить на робочому столі. Для цього потрібно виявити ОС, а потім використовувати одну URL-адресу для робочого столу та іншу для iOS. Але це взагалі інше питання, ніж те, що задає ОП.
HoldOffHunger

3

Перемикайте посилання на спільний доступ до 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");

3

Цей код працював на мене.

Після натискання на посилання він попросить обрати контакт, щоб поділитися повідомленням.

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

Ви можете додати атрибут target = "_ blank", щоб відкрити його у новому вікні чи вкладці.

Я не думаю, що номер телефону не потрібен, коли хтось хоче поділитися певним повідомленням чи статтею.


можна це відкрити на робочому столі браузера? так пересилається на сторінку web.whatsapp?
гумарух

1

використовуйте його як "whatsapp: // send? text =" + encodeURIComponent (ваш текст йде сюди), він обов'язково спрацює.


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 .

Удачі!


Whatsapp каже, що ми не змогли знайти сторінку, яку ви шукали
Reza Mortazavi

Я не розумію. WhatsApp показує цю помилку? Коли?
Густаво Кантеро
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.