Android 용 모바일 웹 사이트 (응용 프로그램 아님)의 WhatsApp에 대한 링크 공유


213

휴대 전화에서 주로 사용되는 웹 사이트를 개발했습니다.
사용자가 웹 페이지에서 WhatsApp으로 직접 정보를 공유 할 수 있도록하고 싶습니다.

UserAgent 감지를 사용하여 Android와 iOS를 구별 할 수 있습니다.
iOS에서 위를 구현하기 위해 URL을 사용할 수 있음을 발견했습니다.

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

OS가 Android 일 때 위의 방법으로 작동하지 않을 솔루션을 찾고 있습니다.
안드로이드에서 "의도"를 사용하는 것과 관련이 있다고 생각하지만 href의 매개 변수로 사용하는 방법을 알 수 없었습니다.


이 방법으로 Whatsapp 앱에 연결하고 web.whatsapp.com 옵션에 연결하는 다른 방법이 있습니다. 앱이 있는지 여부를 감지하여 연결할 대상을 확인할 수있는 방법이 있습니까?
SrQ

이 메시지를받을 연락처는 무엇입니까?
코드 비트

답변:


321

그냥 웹 사이트에서 보았고 최신 크롬과 whatsapp가있는 최신 Android에서도 작동하는 것 같습니다! 링크에 새로운 기회를주세요!

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

(17 그것을 오늘 다시 확인해 번째 4 월 2015 년)
아이폰 OS 팔에 나를 위해 작품 (아이폰 6, 최신 버전) 안드로이드 5 (넥서스 5, 최신 버전).

Windows Phone에서도 작동합니다.


1
실제로 내 질문의 원래 URL은 이제 Android에서도 작동하는 것 같습니다.
Yochai

@MosheL의 의심 할 여지없이 통찰력있는 의견을지지 한 사람은 자신의 "항목"이 무엇인지에 대해 친밀한 지식을 가지고 있어야합니다.
Dan Dascalescu

6
@Manuel data-action = "share / whatsapp / share"란 무엇입니까?
user3362364

4
데이터는 URL로 인코딩 된 형식이어야합니다. 그렇지 않으면 whatsapp iphone에 빈 메시지가 전송됩니다.
Lijo Abraham

1
- 일부 API 변화는 최근의 문서에서 찾을 수 있습니다 faq.whatsapp.com/en/general/26000030/?category=5245251
abhishek77in

102

위의 답변은 약간 구식입니다. 이러한 방법은 작동하지만 아래 방법을 사용하면 미리 정의 된 숫자로 모든 텍스트를 공유 할 수 있습니다. 아래 방법은 안드로이드, WhatsApp 웹, IOS 등에서 작동합니다.

이 형식을 사용해야합니다.

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

업데이트-지금부터 사용하십시오 (2018 년 11 월)

<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 % 20interested % 20in % 20your % 20car % 20for % 20sale

미리 채워진 메시지로 링크를 만들려면 https://wa.me/?text=urlencodedtext를 사용 하십시오.

예 : https://wa.me/?text=I 'm % 20inquiring % 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 API의 (하는 일) 여기했습니다 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>

그리고 그게 다야. 자바 스크립트가 필요하지 않으며 다른 것도 필요하지 않습니다. 물론 원하는대로 스타일을 지정하고 멋진 Whatsapp 아이콘을 포함시킬 수 있습니다.

Chrome을 사용하는 Android 기기에서 이것을 테스트했습니다. 버전 :

  • 안드로이드 4.1.2 (젤리 빈)
  • Chrome 모바일 37.0.2062.117. Firefox Mobile 31.0에서도 테스트되었습니다.
  • WHATSAPP V 2.11.399

iOS에서도 작동합니다. Safari를 사용하여 iPhone 5에서 빠른 테스트를 수행했으며 잘 작동합니다.

이것이 누군가를 돕기를 바랍니다. :-)


3
콘텐츠를 공유하여 인코딩하여 사용encodeURIComponent()
nikoskip

1
이봐, 그것은 나를 위해 일했다. thanks :) 사용자가 실제로 링크를 공유했는지 아니면 단순히 사이트로 돌아 왔는지 확인할 수 있다면 궁금한 점이 있습니까?
사예드

1
Android 5.0 (Lollipop)이 설치된 Nexus 5 및 iOS 8.1.1이 설치된 iPhone 5에서도 작동합니다.
Narxx

2
@juangalf이 방법으로 이미지를 공유하려면 어떻게해야합니까? 그것도 가능합니까, 아니면 텍스트 만 지원됩니까?
elembivos

1
@elembivos 나는 같은 것을 요구하고 있습니다. send매개 변수는 어떻게 형식화되어야합니까? 현재, 나는 whatsapp://send?text=data:image/png;base64,iVBORw0KGgoAAAANS...얼마나 많은 접두어를 포함
시킬지

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

1
방금 더 이상 제대로 작동하지 않는 것을 발견했습니다. 그것은 단지 전화 번호와 함께 작동합니다. 전화 번호가 없으면 당신은 api.whatsapp.com 사용할 필요가
리카르도 BRGWeb

@RicardoBRGWeb 이거 확실해? 방금 웹 브라우저를 사용해 보았고 어떤 숫자도없이 나를 위해 일했습니다. Web Whatsapp 인터페이스를 목적으로하고 연락처와 공유하는 것
Vincent Decaux

@VincentDecaux는 모바일보기 모드를 사용하는 경우에도 데스크탑 브라우저에서 작동합니다. 그러나 모바일 브라우저에서는 WHATSAPP 또는 WHATSAPP 비즈니스 앱을 열 수 없습니다. 아마도 그들은 앱에서 내부 연결 URI를 변경했을 것입니다.
Ricardo BRGWeb

좋아, 내 두 번째 옵션을 시도 했습니까? 상당히 I 모바일 브라 우어에 시도하지 않았다, 내일 시도 할 것이다
빈센트 Decaux

14

최근 WhatsApp은 공식 웹 사이트 에서 모바일 사이트와 공유 할 수 있도록이 HTML 태그를 사용해야한다고 업데이트했습니다 .

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

당신 text=은 당신의 링크 또는 텍스트 내용을 가지고 교체 할 수 있습니다


나는 이것을 개인적으로 테스트했다. 응용 프로그램을 열지 만 다른 것은 없습니다.
HoldOffHunger

@HoldOffHunger urlencode를 사용해야하기 때문에 작동하지 않습니다
Shiv Singh

@ Shiv : 그건 내 문제가 아니었다.
HoldOffHunger

메시지 텍스트에 줄 바꿈 (키 입력)을 삽입하는 방법은 무엇입니까?
cht

@cht는 늦었지만 % 0D를 줄 바꿈으로 사용할 수 있습니다.
Elro444

11

최근 업데이트

이제 https://wa.me/사용자 에이전트에 대해 걱정하지 않고 whatsapp의 최신 API를 사용할 수 있습니다. API는 사용자 에이전트 처리를 수행합니다.

각 whatsapp 클라이언트 (Android / iOS / Webapp)에서 연락처 선택 옵션으로 미리 채워진 텍스트를 공유합니다.

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

해당 whatsapp 클라이언트 (Android / iOS / Webapp)에서 특정 whatsapp 사용자에 대한 채팅 대화 상자를 엽니 다.

https://wa.me/whatsappphonenumber

미리 채워진 텍스트를 특정 사용자와 공유하십시오 (두 개 이상 결합).

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

참고 : whatsappphonenumber국제 형식의 전체 전화 번호 여야합니다. 국제 형식으로 전화 번호를 추가 할 때는 0, 괄호 또는 대시를 생략하십시오.

공식 문서는 https://faq.whatsapp.com/en/general/26000030을 방문 하십시오.


wa.me/whatsappphonenumber/?text=urlencodedtext 가 작동하지 않는 것 같습니다
Kiran

7

Android 용 WhatsApp은 현재 웹 브라우저에서 호출하는 것을 지원하지 않습니다.

현재 프로젝트와 동일한 요구 사항이 있었고 적절한 정보를 찾을 수 없으므로 APK 파일을 다운로드했습니다.

Android에서 애플리케이션을 웹 브라우저에서 호출하려면 android.intent.category.BROWSABLE 카테고리로 활동을 정의해야합니다.

이에 대한 자세한 정보는 https://developers.google.com/chrome/mobile/docs/intents 에서 확인할 수 있습니다.

WhatsApp AndroidManifest.xml 파일을 살펴보면 BROWSABLE 범주의 유일한 Activiy는 다음과 같습니다.

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

나는 한동안 그것을 가지고 놀고 있었고, 그것을 작동시킬 수 없었다. 내가 얻은 것은 Chrome에서 WhatsApp 응용 프로그램을 여는 것이었지만 메시지 내용과 수신자를 설정하는 방법을 알 수 없었습니다.

그것은 WhatsApp 팀에 의해 문서화되지 않았기 때문에 여전히 진행되고 있다고 생각합니다. 앞으로 WhatsApp은 SMS도 처리 할 것 같습니다.

더 많은 정보를 얻는 유일한 방법은 WhatsApp dev 팀에 연락하는 것입니다.하지만 시도한 내용이 아직 기다리고 있습니다.

문안 인사!


1
여기에서이 문제에 대한 새로운 정보를 공유하도록 요청할 수 있습니까? 나에게도 매우 편리 할 것입니다. 어쨌든, 철저한 답변에 감사드립니다.
ccalboni

WhatsApp 개발자와 연락 할 수있었습니다. 그들은이 기능이 지원되지 않는다는 것을 인정했다.
HoldOffHunger

7

일반적으로 Java 스크립트를 사용하여 iOS 또는 Android 장치에만 Whatsapp 링크를 표시하는 것이 좋습니다.

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

작동하지 않는 것은 무엇입니까? 모바일이 아닌 기기에 링크가 표시 되었습니까? 휴대 기기에서 링크가 작동하지 않습니까?
Weidenrinde

WhatsApp 응용 프로그램이 열립니다. 그러나 텍스트 나 메시지는 표시되지 않았습니다. 여러 OS 및 장치에서 테스트되었습니다. 개발자에게 이메일을 보냈습니다. 그들은 공식적으로이 동작을 지원하지 않습니다. "불행히도 현재 지원되지 않습니다. 우리는 항상 앱을 개선하기 위해 노력하고 있으며 제안 사항을 고려할 것입니다." (티켓 # 172349248330585) ~ 40 개의 다른 서비스를 테스트했지만 WhatsApp 및 Viber 만 자체 문서를 지원하지 않습니다.
HoldOffHunger

7

와 함께 whatsapp://내 슈퍼 오래된 계획을 테스트했으며 매력처럼 작동합니다. 그것은 단지 버전 인 것 같습니다 . 모든 사람이 업데이트하도록 강요 하기 때문에 안전하게 사용해야합니다.Android 2.3.3Whats App 2.11.301Whats AppWhats App

Whats App문서는 또한 계획을 언급 : http://www.whatsapp.com/faq/en/android/28000012

나는 현재 프로덕션 사이트에서 이것을 사용하고 있으며 사용자 불만이 있으면 여기에서 업데이트 할 것입니다.

편집 (11 월 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=?링크 유형에 정상입니다 . 따라서 데스크톱에서는 아무 것도하지 않습니다. 이를 사용하려면 OS를 감지 한 다음 하나의 URL을 데스크탑 용으로 사용하고 다른 하나를 iOS 용으로 사용하십시오. 그러나 그것은 실제로 OP가 요구하는 것과 완전히 다른 문제입니다.
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 페이지로 전달 되었습니까?
gumuruh

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에 그 오류가 표시됩니까? 언제?
구스타보 칸 테로
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.