Teilen des Links auf WhatsApp von der mobilen Website (keine Anwendung) für Android

213

Ich habe eine Website entwickelt, die hauptsächlich in Mobiltelefonen verwendet wird.
Ich möchte Benutzern ermöglichen, Informationen direkt von der Webseite in WhatsApp zu teilen.

Mit der UserAgent-Erkennung kann ich zwischen Android und iOS unterscheiden.
Ich konnte feststellen, dass ich zur Implementierung des oben genannten in iOS die URL verwenden kann:

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

Ich bin immer noch auf der Suche nach der Lösung, die verwendet werden kann, wenn das Betriebssystem Android ist (da das oben genannte nicht funktioniert).
Ich denke, es hängt irgendwie mit der Verwendung von "Intent" in Android zusammen, aber ich konnte nicht herausfinden, wie es als Parameter für href gemacht wird.

Yochai
quelle
Auf diese Weise wird eine Verbindung zur WhatsApp-App hergestellt, und es gibt eine andere Möglichkeit, eine Verbindung zur Option web.whatsapp.com herzustellen. Gibt es eine Möglichkeit, festzustellen, ob Sie über die App verfügen oder nicht, um festzustellen, mit welcher Verbindung Sie sich verbinden können?
SrQ
Welcher Kontakt erhält diese Nachricht?
Codebeat

Antworten:

321

Habe es gerade auf einer Website gesehen und scheint jetzt auch auf dem neuesten Android mit neuestem Chrome und WhatsApp zu funktionieren! Gib dem Link einen neuen Schuss!

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

Nachgeprüft es heute (17 th April 2015):
Werke für mich auf iOS 8 (iPhone 6, neueste Versionen) Android 5 (Nexus 5, neuesten Versionen).

Es funktioniert auch unter Windows Phone.

Manuel
quelle
1
in der Tat scheint es, dass die ursprüngliche URL in meiner Frage jetzt auch für Android funktioniert.
Yochai
Wer @ MosheLs zweifellos aufschlussreichen Kommentar positiv bewertet hat, muss genau wissen, was genau sein "Gegenstand" ist.
Dan Dascalescu
6
@Manuel wofür ist data-action = "share / whatsapp / share"?
user3362364
4
Die Daten sollten in URL-codierter Form vorliegen. Andernfalls wird eine leere Nachricht in WhatsApp iPhone gesendet.
Lijo Abraham
1
Einige API - Änderungen können in der letzten Dokument zu finden - faq.whatsapp.com/en/general/26000030/?category=5245251
abhishek77in
101

Die obigen Antworten sind etwas veraltet. Diese Methoden funktionieren zwar, aber mit der folgenden Methode können Sie jeden Text für eine vordefinierte Zahl freigeben. Die folgende Methode funktioniert für Android, WhatsApp Web, IOS usw.

Sie müssen nur dieses Format verwenden:

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

UPDATE-- Verwenden Sie dies ab sofort (Nov-2018)

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

Verwenden Sie: https://wa.me/15551234567

Verwenden Sie nicht: https://wa.me/+001-(555)1234567

Verwenden Sie https://wa.me/whatsappphonenumber/?text=urlencodedtext, um einen eigenen Link mit einer vorab ausgefüllten Nachricht zu erstellen, die automatisch im Textfeld eines Chats angezeigt wird. Dabei handelt es sich bei whatsappphonenumber um eine vollständige Telefonnummer im internationalen Format und in der URL -encodedtext ist die URL-codierte vorgefüllte Nachricht.

Beispiel: https://wa.me/15551234567?text=Ich bin% 20interessiert% 20in% 20your% 20car% 20for% 20sale

Verwenden Sie https://wa.me/?text=urlencodedtext, um einen Link mit nur einer vorab ausgefüllten Nachricht zu erstellen

Beispiel: https://wa.me/?text=Ich bin% 20inquiring% 20about% 20the% 20apartment% 20listing

Nachdem Sie auf den Link geklickt haben, wird eine Liste der Kontakte angezeigt, an die Sie Ihre Nachricht senden können.

Weitere Informationen finden Sie unter https://www.whatsapp.com/faq/en/general/26000030

ad08
quelle
Ich habe dies auf allen Geräten getestet. Alles was es tut, ist die WhatsApp-Anwendung zu öffnen. Nichts passiert danach. Mehrere Geräte (iOS, Android, Windows) getestet.
HoldOffHunger
@HoldOffHunger Ja, es wird die WhatsApp-Anwendung geöffnet und der Benutzer muss den Kontakt auswählen, für den er den Link / Inhalt freigeben möchte.
ad08
@ ad08: So haben Threema und die anderen 40 von mir getesteten Dienste funktioniert. Viber und WhatsApp tun jedoch nichts, ich habe ihre Entwickler kontaktiert und beide haben zugegeben, dass die API nichts tut. Ich habe ihre Korrespondenz und die anderen 40 APIs (die funktionieren) hier verfolgt: github.com/bradvin/social-share-urls/blob/master/README.md
HoldOffHunger
Funktioniert auf WhatsApp Desktop unter Mojave
Alchem
6
wa.me-Links funktionieren auf Mobilgeräten ohne Telefonnummer nicht ordnungsgemäß. Obwohl die offizielle Dokumentation besagt, dass Sie es verwenden können, gibt es nur einen Fehler. Es funktioniert auf dem Desktop mit WhatsApp Web. api.whatsapp.com funktioniert zuverlässig auf beiden.
Ricardo BRGWeb
39

Derzeit ist es sehr einfach, dies zu erreichen. Sie müssen Ihren Seiten nur den folgenden Code hinzufügen:

<a href="whatsapp://send?text=<<HERE GOES THE URL ENCODED TEXT YOU WANT TO SHARE>>" data-action="share/whatsapp/share">Share via Whatsapp</a>

Und das ist es. Kein Javascript benötigt, nichts anderes benötigt. Natürlich können Sie es nach Ihren Wünschen gestalten und ein schönes WhatsApp-Symbol hinzufügen.

Ich habe dies auf meinem Android-Gerät mit Google Chrome getestet. Die Versionen:

  • Android 4.1.2 (Jelly Bean)
  • Chrome Mobile 37.0.2062.117. Auch auf Firefox Mobile 31.0 getestet.
  • WhatsApp V 2.11.399

Es funktioniert auch unter iOS. Ich habe mit Safari einen kurzen Test auf einem iPhone 5 durchgeführt, der auch funktioniert.

Hoffe das hilft jemandem. :-)

Juangalf
quelle
3
Für die Codierung Ihrer Inhalte zur gemeinsamen NutzungencodeURIComponent()
Nikoskip
1
Hey, das hat bei mir funktioniert. danke :) Nur neugierig, ob es eine Möglichkeit gibt, zu überprüfen, ob der Benutzer den Link tatsächlich geteilt hat oder einfach zur Website zurückgekehrt ist?
Sagte
1
Funktioniert auch auf meinem Nexus 5 mit Android 5.0 (Lollipop) und iPhone 5 mit iOS 8.1.1.
Narxx
2
@juangalf Was ist, wenn ich ein Bild mit dieser Methode teilen möchte? Wird das auch möglich sein oder wird nur Text unterstützt?
Elembivos
1
@elembivos Ich frage das gleiche. Wie muss der sendParameter formatiert werden? Derzeit habe ich whatsapp://send?text=data:image/png;base64,iVBORw0KGgoAAAANS...aber nicht sicher, wie viele der Präfixe enthalten sein sollen ...
TMOTTM
27

Laut der neuen Dokumentation lautet der Link jetzt:

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

Wenn es nicht funktioniert, versuchen Sie Folgendes:

<a href="whatsapp://send?text=urlencodedtext">Share this</a>
Vincent Decaux
quelle
3
So ist es auch ohne Telefonnummer möglich. Dieses Dokument finden Sie hier: faq.whatsapp.com/de/general/26000030
Tim Vermaelen
1
Ich habe gerade festgestellt, dass es nicht mehr richtig funktioniert. Es funktioniert nur mit der Telefonnummer. Ohne eine Telefonnummer müssen Sie api.whatsapp.com
Ricardo BRGWeb
@ RicardoBRGWeb sicher davon? Ich habe gerade meine Webbrowser ausprobiert, funktioniert für mich ohne Nummer, es dient mir als Web-WhatsApp-Oberfläche und zum Teilen an einen Kontakt
Vincent Decaux
@ VincentDecaux funktioniert in Desktop-Browsern, auch wenn der mobile Ansichtsmodus verwendet wird. In mobilen Browsern funktioniert es jedoch nicht, WhatsApp- oder WhatsApp-Geschäftsanwendungen zu öffnen. Wahrscheinlich haben sie die interne Verknüpfung uri in der App geändert.
Ricardo BRGWeb
Ok, hast du meine 2. Option ausprobiert? Ich habe es nicht mit Mobile Brower versucht, ich werde es morgen versuchen
Vincent Decaux
14

Kürzlich hat WhatsApp auf seiner offiziellen Website aktualisiert, dass wir dieses HTML-Tag verwenden müssen, damit es für mobile Websites freigegeben werden kann:

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

Sie können ersetzen text=, um Ihren Link oder einen beliebigen Textinhalt zu haben

Aadil Keshwani
quelle
Ich habe das persönlich getestet. Es öffnet die Anwendung, aber sonst nichts.
HoldOffHunger
@HoldOffHunger, weil Sie Urlencode verwenden müssen, sonst wird es nicht funktionieren
Shiv Singh
@ Shiv: Das war nicht mein Problem.
HoldOffHunger
Dies funktioniert auf jeden Fall ... Gibt es eine Möglichkeit, Zeilenumbrüche (Eingabetasten) in den Nachrichtentext einzufügen?
cht
@cht etwas spät, aber Sie können% 0D als Zeilenumbrüche verwenden
Elro444
11

NEUESTES UPDATE

Jetzt können Sie die neueste API von WhatsApp verwenden, https://wa.me/ohne sich um den Benutzeragenten kümmern zu müssen. Die API übernimmt die Behandlung des Benutzeragenten.

Teilen Sie vorgefüllten Text mit der Kontaktauswahloption im jeweiligen WhatsApp-Client (Android / iOS / Webapp):

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

Öffnen Sie den Chat-Dialog für einen bestimmten WhatsApp-Benutzer im jeweiligen WhatsApp-Client (Android / iOS / Webapp):

https://wa.me/whatsappphonenumber

Teilen Sie vorgefüllten Text mit einem bestimmten Benutzer (kombinieren Sie die beiden oben genannten):

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

Hinweis : whatsappphonenumbersollte die vollständige Telefonnummer im internationalen Format sein. Lassen Sie beim Hinzufügen der Telefonnummer im internationalen Format Nullen, Klammern oder Bindestriche weg.

Eine offizielle Dokumentation finden Sie unter https://faq.whatsapp.com/de/general/26000030

Shri
quelle
wa.me/whatsappphonenumber/?text=urlencodedtext funktioniert anscheinend nicht
Kiran
7

Ich befürchte, dass WhatsApp für Android derzeit nicht unterstützt, von einem Webbrowser aufgerufen zu werden.

Ich hatte die gleichen Anforderungen für mein aktuelles Projekt und da ich keine richtigen Informationen finden konnte, lud ich die APK-Datei herunter.

Wenn eine Anwendung in Android über einen Webbrowser aufgerufen werden soll, muss sie eine Aktivität mit der Kategorie android.intent.category.BROWSABLE definieren.

Weitere Informationen hierzu finden Sie hier: https://developers.google.com/chrome/mobile/docs/intents

Wenn Sie sich die Datei WhatsApp AndroidManifest.xml ansehen, ist die einzige Aktivität mit der Kategorie BROWSABLE die folgende:

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

Ich habe eine Weile damit gespielt und konnte es nicht zum Laufen bringen. Das meiste, was ich bekam, war das Öffnen der WhatsApp-Anwendung von Chrome aus, aber ich konnte keine Möglichkeit finden, den Nachrichteninhalt und den Empfänger festzulegen.

Da es vom WhatsApp-Team nicht dokumentiert ist, denke ich, dass dies noch in Arbeit ist. Es sieht so aus, als würde WhatsApp in Zukunft auch SMS verarbeiten.

Die einzige Möglichkeit, weitere Informationen zu erhalten, besteht darin, das WhatsApp-Entwicklerteam zu erreichen, was ich versucht habe, aber ich warte immer noch auf eine Antwort.

Grüße!

Oliferna
quelle
1
Kann ich Sie bitten, hier neue Informationen zu diesem Problem zu veröffentlichen? Wäre auch für mich sehr praktisch. Trotzdem danke für die ausführliche Antwort.
Ccalboni
Ich konnte mit den WhatsApp-Entwicklern Kontakt aufnehmen. Sie gaben zu, dass diese Funktion nicht unterstützt wird.
HoldOffHunger
7

Im Allgemeinen ist es sinnvoll, den WhatsApp-Link nur auf iOS- oder Android-Geräten mit Java-Skript anzuzeigen:

   if (navigator.userAgent.match(/iPhone|Android/i)) {
      document.write('<a href="whatsapp://send?text=See..">Share on WhatApp</a>');
   }
Weidenrinde
quelle
Was hat nicht funktioniert? Der Link wurde auf einem nicht mobilen Gerät angezeigt? Auf dem mobilen Gerät hat der Link nicht funktioniert?
Weidenrinde
Die WhatsApp-Anwendung wird geöffnet. Es wird jedoch weder ein Text noch eine Nachricht angezeigt. Getestet auf mehreren Betriebssystemen und Geräten. Ich habe den Entwicklern eine E-Mail geschickt. Sie unterstützen dieses Verhalten offiziell nicht. "Leider wird dies derzeit nicht unterstützt. Wir arbeiten ständig an der Verbesserung unserer App und werden Ihren Vorschlag berücksichtigen." (Ticket Nr. 172349248330585) Ich habe ~ 40 andere Dienste getestet, nur WhatsApp und Viber unterstützen ihre eigene Dokumentation nicht.
HoldOffHunger
7

Habe gerade das whatsapp://Schema auf meinem Super Old Android 2.3.3mit getestet Whats App 2.11.301, funktioniert wie ein Zauber. Es scheint nur die Whats AppVersion zu sein. Da Whats Appalle zum Aktualisieren gezwungen werden, sollte die Verwendung sicher sein.

In der Whats AppDokumentation wird auch dieses Schema erwähnt: http://www.whatsapp.com/faq/en/android/28000012

Ich verwende dies jetzt auf einer Produktionsstätte und werde es hier aktualisieren, wenn ich Beschwerden von Benutzern bekomme.

Bearbeiten (14. November): Keine Benutzerbeschwerden nach ein paar Wochen.

JonasB
quelle
6

Die offiziellen Dokumente sagen zu verwenden : wa.me. Nicht benutzen wa.me. Probieren Sie es einfach selbst aus: https://wa.me/?text=SomeTexttoShare Ergebnisse für mich:

Wir konnten die gesuchte Seite nicht finden

Sieht so aus, als würden Sie nach einer Seite suchen, die es nicht gibt. Oder eine Seite, die wir gerade gelöscht haben. Gehen Sie in jedem Fall zurück oder überprüfen Sie die URL und Ihre Rechtschreibung und versuchen Sie es erneut.

Wenn Sie teilen möchten, müssen Sie unbedingt eines der beiden folgenden URL-Formate verwenden:

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

Wenn Sie sich ein Projekt ansehen möchten, das diese URLs verfolgt, besuchen Sie uns!: Https://github.com/bradvin/social-share-urls#telegramme

Social Share URLs

HoldOffHunger
quelle
Die Verwendung whatsapp://send?text=funktioniert bei mir mit oder ohne URL-Codierung. Nur auf iOS getestet
Schneeball
Hey, @Snowball: Danke für den Kommentar, das funktioniert eigentlich nur, wenn die WhatsApp-App installiert ist. Das ist normal für customProtocol://action=?Arten von Links. Auf einem Desktop macht das also nichts. Um dies zu erreichen, muss das Betriebssystem erkannt und dann eine URL für den Desktop und eine andere für iOS verwendet werden. Aber das ist wirklich eine ganz andere Sache als die, die das OP verlangt.
HoldOffHunger
3

Wechseln Sie die WhatsApp-Freigabelinks je nach Plattform, egal ob Desktop oder Mobile.

Dies funktioniert mit oder ohne Angabe der Telefonnummer im Link.

Für Handys

   vm.LinkTextToShare = 'https://api.whatsapp.com/send?text=' + encodeURIComponent(window.location.href) ;

   window.open(vm.LinkTextToShare,"_blank");

Für den Desktop

   vm.LinkTextToShare = 'https://web.whatsapp.com/send?l=en&text=' + encodeURIComponent(window.location.href) ;

   window.open(vm.LinkTextToShare,"_blank");
Sitaram
quelle
3

Dieser Code hat bei mir funktioniert.

Nachdem Sie auf den Link geklickt haben, werden Sie aufgefordert, den Kontakt auszuwählen, um eine Nachricht zu teilen.

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

Sie können das Attribut target = "_ blank" hinzufügen, um es in einem neuen Fenster oder einer neuen Registerkarte zu öffnen.

Ich glaube nicht, dass die Telefonnummer benötigt wird, wenn jemand eine bestimmte Nachricht oder einen bestimmten Artikel teilen möchte.

Rachit Mangi
quelle
Kann dies auf dem Browser-Desktop geöffnet werden? also an web.whatsapp Seite weitergeleitet?
Gumuruh
1

Verwenden Sie es wie "whatsapp: // send? text =" + encodeURIComponent (Ihr Text geht hierher), es wird definitiv funktionieren.

Jitendra Pal - JP
quelle
0

Versuchen Sie es so zu machen:

<a href="https://wa.me/(phone)?text=(text URL encoded)">Link</a>

Auch Sie können Nachrichten senden, ohne die Telefonnummer in den Link einzugeben:

<a href="https://wa.me/?text=Hello%20world!">Say hello</a>

Nachdem Sie auf den Link geklickt haben, wird eine Liste der Kontakte angezeigt, an die Sie Ihre Nachricht senden können.

Weitere Informationen unter https://faq.whatsapp.com/de/general/26000030 .

Viel Glück!

Gustavo Cantero
quelle
whatsapp sagt, wir konnten die gesuchte Seite nicht finden
Reza Mortazavi
Ich verstehe nicht. WhatsApp zeigt diesen Fehler? Wann?
Gustavo Cantero