web-dev-qa-db-ja.com

Android用のモバイルWebサイト(アプリケーションではない)からWhatsApp上のリンクを共有する

私は携帯電話で主に使用されるウェブサイトを開発しました。
ユーザーがWebページからWhatsAppに直接情報を共有できるようにしたいです。

UserAgent検出を使用すると、AndroidとiOSを区別できます。
iOSで上記を実装するために、URLを使用できることを発見できました。

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

私はまだOSがAndroidの場合に使用されるソリューションを探しています(上記はうまくいきません)。
私はそれがどういうわけかAndroidで「意図」を使うことに関連していると思います、しかし私はhrefのためのパラメータとしてそれをする方法を理解できませんでした。

179
Yochai

ちょうどウェブサイトでそれを見て、そして今も最新のクロムとwhatsappで最新のAndroidで動くようです!リンクに新しいショットをプレゼント!

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

今日それを再確認した(17番目 2015年4月):
iOS 8(iPhone 6、最新バージョン)Android 5(Nexus 5、最新バージョン)で動作します。

Windows Phoneでも動作します。

280
Manuel

上記の答えは少し古くなっています。これらの方法は機能しますが、以下の方法を使用することで、事前定義された番号と任意のテキストを共有できます。以下の方法は、Android、WhatsApp web、IOSなどで機能します。

あなただけのこのフォーマットを使用する必要があります:

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

UPDATE--今からこれを使用する(11月-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 encoded textは、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%20inquiry%20about%20the%20apartment%20リスト

リンクをクリックすると、あなたがあなたのメッセージを送ることができる連絡先のリストが表示されます。

詳細については、 https://www.whatsapp.com/faq/en/general/26000030 を参照してください。

79
ad08

現在、これを達成するのはとても簡単です。あなたのページに次のコードを追加するだけです:

<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は必要ありません。他には必要ありません。もちろん、好きなようにスタイルを設定して、Nice Whatsappアイコンを含めることもできます。

私は自分のAndroidデバイスでこれをGoogle Chromeでテストしました。バージョン:

  • アンドロイド4.1.2(ジェリービーン)
  • Chrome Mobile 37.0.2062.117。 Firefox Mobile 31.0でもテスト済みです。
  • Whatsapp V 2.11.399

IOSでも動作します。私はSafariを使ってiPhone 5で簡単なテストをしました、そしてそれは同様に働きます。

これが誰かに役立つことを願っています。 :-)

38
juangalf

最近WhatsAppがその 公式Webサイトを更新しました 携帯サイトと共有できるようにするためにこのHTMLタグを使用する必要があります。

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

text=を置き換えて、あなたのリンクや他のテキストコンテンツにすることができます。

14
Aadil Keshwani

新しい文書によると、リンクは現在次のとおりです。

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

WhatsApp for Androidは現在Webブラウザからの呼び出しをサポートしていません。

現在のプロジェクトに同じ要求があり、適切な情報が見つからなかったためAPKファイルをダウンロードしました。

Androidでは、Webブラウザからアプリケーションを呼び出す場合は、Android.intent.category.BROWSABLEというカテゴリでActivityを定義する必要があります。

あなたはこれについてのより多くの情報をここに見つけることができます: 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開発チームに連絡することです。私が試したことですが、まだ応答を待っています。

よろしく!

7
oliferna

私の超古いwhatsapp://Android 2.3.3スキームをWhats App 2.11.301でテストしたところ、魅力的です。それは単なるWhats Appバージョンのようです。 Whats Appは全員に更新を強いるので、それを使用しても安全なはずです。

Whats Appのドキュメントにもそのスキームが記載されています: http://www.whatsapp.com/faq/en/Android/28000012

現在、本番サイトでこれを使用しています。ユーザーからの苦情がある場合は、ここで更新します。

編集(11月14日): 数週間後にユーザーからの苦情はありません。

7
JonasB

一般的には、Javaスクリプトを使用して、Whatsapp LinkをiOSまたはAndroidデバイス上にのみ表示することが意味があります。

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

最新のアップデート

ユーザーエージェントを気にせずにwhatsapp https://wa.me/の最新のAPIを使用できるようになりました。APIはユーザーエージェントの処理を行います。

それぞれのwhatsappクライアント(Android/iOS/Webアプリケーション)で連絡先選択オプションを使用して事前入力テキストを共有します。

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

それぞれのwhatsappクライアント(Android/iOS/Webアプリケーション)で特定のwhatsappユーザーのチャットダイアログを開きます。

https://wa.me/whatsappphonenumber

事前に入力されたテキストを特定のユーザーと共有する(上記2つを組み合わせる):

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

whatsappphonenumberは、国際形式の完全な電話番号です。国際形式で電話番号を追加する場合は、ゼロ、大括弧、ダッシュを省略してください。

公式ドキュメントは https://faq.whatsapp.com/en/general/26000030 をご覧ください。

6
Shri

TLDR: "これはサポートされていません。" 〜公式Whatsapp開発者。

私はいくつかのデバイス(Android、iOS、そしてWindows)でこれをテストしました、そしてそれは単に機能しません。これは私が個人的にテストした40の異なるサービスのうちの1つであり、2つのうちの1つはうまくいかなかった(もう1つはViberである)。こちらのリストを参照してください。

https://github.com/bradvin/social-share-urls#whatsapp

フラストレーションで、私はWhatsAppで開発者に電子メールを送りました。私は彼らに彼ら自身の情報源を見せました:

https://faq.whatsapp.com/en/Android/26000030/?category=5245251

この機能ISは実装されていません。

"Unfortunately, that is not supported at the moment.
We are always working to improve our app and will take your suggestion into consideration.
request #172349248330585"

これをテストするには、(1)Whatsappアカウントを登録する、(2)Whatsappをデスクトップにインストールする、(3)Whatsappを電話にインストールする、(4)電話とコンピュータを同期する、(5)whatsappをビルドしてアップロードするプライベートホストでリンクを共有します。(6)2と3で言及したデバイスでそれをクリックします。(7)リンクをクリックして、Whatsappが開くことを確認し、それに与えられたすべてのパラメータを完全に無視します。

これらのすべてがViberとWhatsappに失敗し、38の他のサービス(GoogleからSkype、Line.me、Facebook、Digg、StumbleUpon、Doubanなど)に好結果をもたらしました。

1
HoldOffHunger

デスクトップかモバイルかにかかわらず、プラットフォームに応じて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");
0
Sitaram

このようにしてみてください。

<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 の詳細情報。

がんばろう!

0
Gustavo Cantero

"whatsapp:// send?text =" + encodeURIComponentのように使用してください(あなたのテキストはここに入ります)、それは間違いなく動作します。

0